NSDateFormatter问题

时间:2010-05-10 07:45:14

标签: cocoa-touch 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]);

由于

2 个答案:

答案 0 :(得分:1)

您的日期格式字符串要求日期以文字Z结尾。但是您的日期以字符串UTC结尾。有几种方法可以解决这个问题。

  1. 将日期格式字符串更改为@"yyyy-mm-dd'T'HH:mm:ss'UTC'"
  2. 或者,将日期字符串更改为@"2010-05-07T10:12:32Z"
  3. 或者,您可以将日期格式字符串更改为:@"yyyy-mm-dd'T'HH:mm:ssz"。这将识别一些常见的3字母时区名称,例如太平洋夏令时的PDT。不幸的是,它不会将UTC识别为时区名称(您必须使用“GMT”)。

答案 1 :(得分:0)

文字'Z'与字符串UTC不匹配。