Требуется NSDate в PST - PullRequest
       2

Требуется NSDate в PST

3 голосов
/ 19 мая 2011

Я хочу текущую дату и время в PST.Я использовал этот код

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"PST"]];

NSString *timeStamp = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"String:%@",timeStamp);

Он возвращает правильную дату и время в PST в виде строки, но я хочу NSDate в PST.Поэтому, когда я изменяю NSString на NSDate, вот так:

NSDate *currentPST = [dateFormatter dateFromString:timeStamp];
NSLog(@"currentPST Date:%@",currentPST);

Возвращает дату в GMT.Я сделал R & D, но все напрасно. Выход:

String:2011-05-18 22:28:54 PDT
currentPST Date:2011-05-19 05:28:54 +0000

Может кто-нибудь предложить решение, пожалуйста.

Заранее спасибо

1 Ответ

0 голосов
/ 19 мая 2011

В Какао NSDate - это абстрактное представление даты без информации о часовом поясе.

Всякий раз, когда вы печатаете объект NSDate, он печатает значение даты, соответствующее часовому поясу по умолчанию (часовой пояс вашего устройства). Часовой пояс вашего устройства - GMT, поэтому вы получаете такое значение. Если вы посмотрите на это глубоко, оба времени одинаковы, но часовой пояс меняется.

...