iPhone: не получается получить правильный вывод при преобразовании NSString в NSDate - PullRequest
0 голосов
/ 24 октября 2011

Я хочу преобразовать NSString в NSDate.

Поэтому я попробовал следующий код:

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:@"dd-MM-yyyy"];

    NSString *checkInDate = lblCheckIn.text;
    NSString *checkOutDate = lblCheckOut.text;

Здесь я получаю следующий вывод.

    NSLog(@"\nCheckIn Date : %@\nCheckOut Date : %@",checkInDate,checkOutDate);
    // CheckIn Date : 26-10-2011
    // CheckOut Date : 29-10-2011

Теперь яхочу преобразовать этот NSString в NSDate с dd-MM-yyyy форматом.

    NSDate *checkOut = [formatter dateFromString:checkOutDate];
    NSDate *checkIn = [formatter dateFromString:checkInDate];
    [formatter release];

Но я получил следующий вывод.

    NSLog(@"\nCheck In : %@\nCheck Out : %@",checkIn,checkOut);
    // Check In : 2011-10-25 18:30:00 +000
    // Check Out : 2011-10-28 18:30:00 +000

Что может быть не так?

Ответы [ 2 ]

2 голосов
/ 24 октября 2011

Я надеюсь, что вы находитесь в часовом поясе +5: 30 .. С вашим кодом все в порядке.Это только печать времени в часовом поясе GMT.

1 голос
/ 24 октября 2011
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy"];
NSTimeZone *gmt = [NSTimeZone timeZoneWithAbbreviation:@"GMT"];
[formatter setTimeZone:gmt];
NSString *checkInDate =@"26-10-2011";
NSString *checkOutDate =@"29-10-2011";
NSDate *checkOut = [formatter dateFromString:checkOutDate];
NSDate *checkIn = [formatter dateFromString:checkInDate];

    [formatter release];
...