NSDateFormatter问题
我试图从字符串中获取 NSDate 但它返回 nil。 我试过这个:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-mm-dd'T'HH:mm:ss'Z'"];
NSDate *date = [dateFormatter dateFromString:@"2010-05-07T10:12:32UTC"];
NSLog(@"Success date=%@",[date description]);
谢谢
I am trying to get NSDate from string but its returning nil.
I tried this:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-mm-dd'T'HH:mm:ss'Z'"];
NSDate *date = [dateFormatter dateFromString:@"2010-05-07T10:12:32UTC"];
NSLog(@"Success date=%@",[date description]);
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的日期格式字符串期望日期以文字
Z
结尾。但您的日期以字符串UTC
结尾。有几种方法可以解决这个问题。@"yyyy-mm-dd'T'HH:mm:ss'UTC'"
。@"2010-05-07T10:12:32Z"
。或者,您可以将日期格式字符串更改为:
@"yyyy-mm-dd'T'HH:mm:ssz"
。这将识别一些常见的 3 字母时区名称,例如太平洋夏令时的 PDT。但不幸的是,它不会将 UTC 识别为时区名称(您必须使用“GMT”)。Your date format string expects the date to end with a literal
Z
. But your date ends with the stringUTC
. There are several ways to fix this.@"yyyy-mm-dd'T'HH:mm:ss'UTC'"
.@"2010-05-07T10:12:32Z"
.Or, you could change your date format string to:
@"yyyy-mm-dd'T'HH:mm:ssz"
. This will recognize some common 3-letter time zone names, such as PDT for Pacific Daylight Time. Unfortunately, however, it will not recognize UTC as a time zone name (you’d have to use “GMT”).文字
'Z'
与字符串UTC
不匹配。The literal
'Z'
won't match the stringUTC
.