2014-09-02 55 views
2

任何機構知道約2014-04-28T01:03:21.827753像格式, 我有方法來處理2014-04-28T01:03:21格式,但我沒有聽說過格式任何人都幫助我,那會非常感謝。時間格式ios「2014-04-28T01:03:21.827753」

這裏是我的代碼: -

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.??????"];// ? what i need to use please anyone route me in right way 
NSDate *date = [dateFormatter dateFromString:timeStamp]; 

回答

3

這似乎是RFC 3339/ISO 8601的變體。有關此格式的指導,請參閱Apple的Technical Q&A QA1480(特別注意時區和區域設置)。

請注意,您的字符串沒有指定時區,但通常假定爲祖魯語(即UTC/GMT),但您應該與此時生成的任何字符串進行確認。此外,不要忘記指定格式化程序的區域設置,以防用戶的日曆不是格式標準格式。

NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; 
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
formatter.locale = enUSPOSIXLocale; 
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSSSS"; 
formatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; 
NSDate *date = [formatter dateFromString:timeStamp]; 
4

由於每Unicode Locale Data Markup Language使用此格式:

[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSS"]; 

使用盡可能多的 「S」,以顯示你想要的小數點值。

3
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SS"]; 

'S'表示毫秒。一秒鐘內有1000(0到999)毫秒。

+0

DeepK更合適和正確的答案是羅布的一個,所以我改變了抱歉 – Spynet 2014-09-02 05:35:34

0
NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"yyyy-MM-dd 'T' HH:mm:ss.SS"]; 

[格式化setDateFormat:@ 「 '你想字符串' HH YYYY-MM-DD:MM:SS.SS」];

'S'表示毫秒。一秒內有1000(0到999)毫秒。