NSDateFormatter不格式化(返回nil)
问题描述:
我有一个日期字符串,例如:NSDateFormatter不格式化(返回nil)
2012-04-09T23:57:44.070Z
我的日期格式为:
[dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
但它返回零。我的日期格式有什么问题? 谢谢
答
你不需要如此咄咄逼人地逃脱-
和:
。另外,你的秒字符是错误的。您应该使用:
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
[f setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];
NSLog(@"%@", [f dateFromString:@"2012-04-09T23:57:44.070Z"]);
这将记录:
2012-04-09 23:57:44 +0000
如果不设置上的日期格式的时区,它要承担你的意思是什么时区的装置是在现在,和不是 GMT时区(这是Z
暗示的)。
这可能是一个愚蠢的问题,但如果你想以相反的方式做呢?我如何从这个字符串中获取日期对象:2012-04-09 23:57:44 +0000谢谢! – 2012-05-10 02:47:50
@RafaelMoreira'NSDateFormatter'有一个'-dateFromString:'方法。 – 2012-05-10 03:25:29
我知道。我的意思是日期格式化程序的格式是什么。我试过[dateFormatter setDateFormat:@“yyyy-MM-dd HH:mm:ss ZZZ”];但它不起作用。我也试过只有一个Z和ZZ但没有成功。 – 2012-05-10 22:41:37