Дата форматирования iPhone выпуск - PullRequest
0 голосов
/ 08 июня 2011
NSLog(@"%@", self.departDate);

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy"];
NSLog(@"%@", [dateFormat stringFromDate:self.departDate]);
[dateFormat release];

Итак, у меня есть этот код, который возвращает это в консоли:

2011-06-09 00:00:00 +0000
06/08/2011

Есть идеи, почему это происходит?Как видите, мой объект self.departDate возвращает 2011-06-09 в качестве даты.Когда я пытаюсь использовать форматирование даты для конвертации, я теряю день WTF?

1 Ответ

0 голосов
/ 08 июня 2011

Первый журнал соответствует дате GMT. Однако, когда вы создаете экземпляр NSDateFormatter, для него будет установлен часовой пояс по умолчанию, равный часовому поясу пользователя, который, я полагаю, находится где-то к западу от Гринвича. Если вы хотите, чтобы время оставалось в GMT, вам нужно будет добавить эту строку,

[dateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
...