2013-03-29 6 views
0

В настоящее время я NSString значение, которое содержит следующую дату в качестве текущей датыПреобразование NSString в NSDate порождает неверное значение

(lldb) po self.currentDate 
(NSString *) $5 = 0x002ca8d0 2013-03-29 

Но когда я конвертировать этот NSString в NSDate, она показывает неправильное значение

NSDate *myCurrentDate = [dateFormatterForCurrentDate dateFromString:self.currentDate]; 

(lldb) po myCurrentDate 
(NSDate *) $4 = 0x002cf030 2013-03-28 18:30:00 +0000 
+1

** Это правильно !!! ** Это показано в часовом поясе от GMT. –

+0

Anoop правильный. См. Мой [ответ на более ранний вопрос] (http://stackoverflow.com/questions/11273001/nsdateformatter-datefromstring-returns-incorrect-date/11273812#11273812). –

ответ

2

набор этот формат даты:

[dateFormatterForCurrentDate setDateFormat:@"yyyy-MM-dd"]; 

, а также проверить Date Formatters in developer.apple.com

может быть вам полезна.

3

Попробуйте с этим кодом, для рассмотрения местного часового пояса ....

NSDateFormatter *dateFormatterForCurrentDate = [[NSDateFormatter alloc] init]; 
[dateFormatterForCurrentDate setDateFormat:@"yyyy-MM-dd"]; 
[dateFormatterForCurrentDate setTimeZone:[NSTimeZone localTimeZone]]; 
NSDate *myCurrentDate = [dateFormatterForCurrentDate dateFromString:self.currentDate]; 

Надеется, что это полезно ...

Смежные вопросы