2015-07-01 2 views
0
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 

[dateFormat setDateFormat:@"EEEE','dd MMM YYYY z"]; 

NSString *string = @"Thursday,11 Jun 2015 +0530"; 

NSDate *tempDate = [dateFormat dateFromString:string]; 

Теперь, когда я NSLog ..NSDateFormatter dateFromString возвращает неправильную дату, даже если детали TimeZone поставляемый шпагатом

NSLog(@"%@",[tempDate description]); 

2014-12-24 18:30:00 +0000

NSLog(@"%@",[dateFormat stringFromDate:tempDate]); 

Четверг, 25 декабря 2014 г. IST

Почему он не показывает «Четверг, 11 июня 2015 г. IST» вместо «Четверг, 25 декабря 2014 г. IST»?

+0

Что такое x здесь «EEEE», «dd MMM YYYY x»?? Вы можете использовать NSLocal для установки часового пояса –

ответ

1

Я изменил 'YYYY' на 'yyyy', и это сработало. Спасибо, что прочитал это.

+0

Также см. QA1480. Существует небольшая вероятность проблем, но на самом деле вы должны установить локализацию, если вам определенно нужно нажать на строку формата даты. https://developer.apple.com/library/ios/qa/qa1480/_index.html – Tommy

0
NSDateFormatter *outDateFormatter = [[NSDateFormatter alloc] init]; 
outDateFormatter.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"IST"]; 
outDateFormatter.dateFormat = (your date formate) 

Попробуйте использовать этот

3
if you change to 'yyyy' will show you result like. 

Четверг, 11 Июня 2015 +0530

NSDateFormatter *dateFormattor = [[NSDateFormatter alloc] init]; 
[dateFormattor setDateFormat:@"EEEE','dd MMM yyyy zzzz"]; 
NSTimeZone *_timezone = [NSTimeZone timeZoneWithName:@"IST"]; 
[dateFormattor setTimeZone:_timezone]; 
NSString *string = @"Thursday,11 Jun 2015 +0530"; 
NSDate *tempDate = [dateFormattor dateFromString:string]; 
NSLog(@"tempDate is :%@",tempDate); 
NSLog(@"%@",[dateFormattor stringFromDate:tempDate]); 

четверг, 11 июня 2015 Индийского время

изменение в строке на 'z' char вы получаете разные результаты.

[dateFormattor setDateFormat:@"EEEE','dd MMM yyyy zzzz"]; 
  1. г = GMT + 0530 IST
  2. ZZ = GMT + 0530 IST
  3. ZZZ = GMT + 0530 IST
  4. ZZZZ = Стандартное индийское время IST
  5. ZZZZZ = Стандартное индийское время IST

Надеюсь, это поможет.

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

  • Нет связанных вопросов^_^