2017-02-15 16 views
1

Я пытаюсь форматировать дату в Objective-C для приложения Ios в этом формате:IOS DateFormat с миллисекунды и часовой пояс

2017-02-15T16:32:59.9725843+11:00 

не повезло. Я пробовал:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setTimeZone:[NSTimeZone localTimeZone]]; 
formatter.dateFormat = @"yyyy-MM-dd'T'hh:mm:ss.SSSSSSSZZZZZ"; 

и

formatter.dateFormat = @"yyyy-MM-dd'T'hh:mm:ss.fffffffZZZZZ"; 

Как и кучу других форматов миллисекунд и часовой пояс (я изменял количество Ss и Zs без удачи Все, что я. получить это ноль NSString.

Любая помощь будет оценена.

+1

[Редактировать] Ваш вопрос с реальным проверяемым кодом с реальной строкой и призывом к 'dateFromString:'. И имейте в виду, что вам нужно 'HH', а не' hh'. – rmaddy

+0

Вы можете найти здесь http://nsdateformatter.com/ для разных форматов времени и даты. –

ответ

2

Ваш ваш формат Строка Время 24 часа, так что используйте HH:mm:ss. в этом месте hh:mm:ss.

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setTimeZone:[NSTimeZone localTimeZone]]; 
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSSSSSZZZZZ"; 
NSDate *getDate = [formatter dateFromString:@"2017-02-15T16:32:59.9725843+11:00"]; 

NSLog(@"getDate == %@",getDate); 

выход:

xcode output

1

Вы можете ALS □ Проверьте nsdateformatter и DataFormatting

NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init]; 
[dateformatter setTimeZone:[NSTimeZone localTimeZone]]; 
dateformatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSSSSSZZZZZ"; 
NSString *currentDate = [dateformatter stringFromDate:[NSDate date]]; 

NSLog(@"current Date :%@ ",currentDate); 

Выход:

current Date :2017-02-15T11:35:11.7790000+05:30