Форматирование даты - PullRequest
       7

Форматирование даты

1 голос
/ 01 октября 2010

Редактировать: Обновление сообщения на основе комментариев Мартинса ниже

Здравствуйте,

Я просто пытаюсь получить дату из строки, мой код выглядит следующим образом:

NSString *strStartDateTime = [startTimeArray objectAtIndex:i];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];               
NSDate *dtStartDateTime;
dtStartDateTime = [formatter dateFromString: strStartDateTime];

strStartDateTime имеет значение '2010-09-30 15:23:30', но этот код возвращает значение '2010-09-30 14:23:30 GMT', всеЯ хочу это '2010-09-30 15:23:30' согласно строке.

Принимает ли это во внимание время перехода на летнее время.Это очень неприятно, я просто хочу преобразовать NSString в NSDate и изменить его значение.

С уважением, Стивен

1 Ответ

2 голосов
/ 01 октября 2010

Я не совсем понимаю ваш вопрос. Что вы подразумеваете под «это дает мне значение GMT»? Каков ваш вклад? Каков ваш ожидаемый результат?

Если у вас есть проблемы с преобразованием часового пояса, вы можете попробовать установить часовой пояс для форматера:

[formatter setTimeZone:[NSTimeZone localTimeZone]];

или

[formatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];

Как я уже сказал, все зависит от того, что является входным и ожидаемым выходным сигналом.

EDIT:

У вас на самом деле нет проблем. Дата анализируется правильно. Вы можете проверить это так:

NSString *strStartDateTime = [startTimeArray objectAtIndex:i];

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];  

NSDate *dtStartDateTime = [formatter dateFromString: strStartDateTime];
NSString *parsedDateAsString = [formatter stringFromDate:dtSTartTime];

// parsedDateAsString will have the correct value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...