2014-09-12 49 views
-3

我不知道如何将此字符串转换为NSDate。将T和Z字符的时间戳字符串转换为NSDate

日期是在这个格式“2012-10-21T07:00:00Z”

我想这个问题是我不知道什么样的T和Z中的字符串:)

NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 
[formatter setDateFormat:@"yyyy-MM-ddTHH:mm:ssZ"]; 
NSDate *dateStart = [formatter dateFromString:@"2012-10-21T07:00:00Z"]; 

// format that I want 
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"]; 

NSLog(@"date: %@", [formatter stringFromDate:dateStart]); 
平均

所有日期的格式如下:2014-09-12T03:46:25Z

+0

将您的日期字符串与格式字符串进行比较。他们有什么相似之处?他们有什么不同?你看过[规格](http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns)吗? – 2014-09-12 19:56:09

+1

这是第二个最常见的iOS问题(在“无法识别的选择器”之后)。 – 2014-09-12 20:00:46

+0

@HotLicks,“将数据/对象/数组传递给视图控制器”更常见,我会说。 – vikingosegundo 2014-09-12 22:52:59

回答

2

这是一个ISO日期。 Z代表祖鲁,但意味着UTC时间。

尝试:

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZZZ"]; 

为了养活你最初的NSDate。

+0

谢谢,这个解决了它;) – budidino 2014-09-12 19:59:36

+1

实际上,基于这个单一样本,目前还不清楚格式应该以ZZZZZ结尾还是仅仅以Z结尾。需要知道当时区不是UTC时表示的时区。 – 2014-09-12 20:07:23

+1

(固定它将'T'放在单引号中的东西。) – 2014-09-12 20:08:45

相关问题