NSDateFormatter到目前为止

时间:2013-05-31 10:14:57

标签: ios nsstring nsdate nsdateformatter

您好我将此NSString解析为NSDate时出现了奇怪的问题:“2013-05-31T11:56:07+0200”,我试过了:

[_dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
[_dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZZZ"];

但总是返回nil。

2 个答案:

答案 0 :(得分:1)

从为iOS 5.1及以上指定的unicode日期格式开始,这些是时区格式

enter image description here

我已经验证了这个,它适用于输出 2013-05-31 09:56:07 +0000

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];
NSDate *date  = [dateFormatter dateFromString:@"2013-05-31T11:56:07+0200"];
NSLog(@"%@",date);

答案 1 :(得分:0)

它可能对你有帮助

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd"];

NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm:ss"];

NSDate *now = [[NSDate alloc] init];

NSString *theDate = [dateFormat stringFromDate:now];
NSString *theTime = [timeFormat stringFromDate:now];

NSLog(@"\n"
      "theDate: |%@| \n"
      "theTime: |%@| \n"
      , theDate, theTime);