NSdate Предполагается, что неправильный часовой пояс - PullRequest
1 голос
/ 25 февраля 2012

Я пытаюсь преобразовать следующую строку в объект NSDate:

NSString *str=@"25 May 2012 10:25:00";

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"d MMM yyyy HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"asia/kolkata"]];
 NSDate *date = [dateFormatter dateFromString:str];


In console : date-->2012-05-25 04:55:00 +0000....it lags behind 5 hours and 30 minutes and assumes GMT timezone instead of Asia...Why it is so?

Ответы [ 2 ]

4 голосов
/ 25 февраля 2012

Когда вы видите [описание NSDate], напечатанное на консоли, это всегда соответствующее время по Гринвичу. Если вы используете тот же форматер даты для преобразования даты обратно в строку, она должна находиться в указанном часовом поясе.

[NSDate description] - это то, что вы видите, если вы наберете

po date

или

po [date description]

или вы используете NSLog для отправки любой из этих форм на консоль.

0 голосов
/ 25 февраля 2012

Если вы ищете часовой пояс Индии, вы должны использовать: enter image description here

...