如何使用NSDateFormatter将此字符串解析为NSDate?

时间:2012-07-12 12:21:21

标签: objective-c ios xcode nsdateformatter

我将日期作为字符串格式为:

2010-12-31 20:21:00 +0200

我想要做的是使用NSDateFormatter将其解析为NSDate对象,但我无法正确匹配格式。

NSDateFormatter *dateFormatter = NSDateFormatter.alloc.init;
[dateFormatter setTimeZone: NSTimeZone.localTimeZone];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss'Z'"];
[dateFormatter dateFromString: @"2010-12-31 20:21:00 +0200"] // returns nil ;

有人能帮我找到正确的格式吗?谢谢

2 个答案:

答案 0 :(得分:3)

此代码有效:

  NSDateFormatter *dateFormatter = NSDateFormatter.alloc.init;
  [dateFormatter setTimeZone:NSTimeZone.localTimeZone];
  [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"];
  NSDate *date = [dateFormatter dateFromString:@"2010-12-31 20:21:00 +0200"];
  NSLog(@"%@", [dateFormatter stringFromDate:date]);

我只是想让你知道,亲切的先生,当我看到NSDateFormatter.alloc.init

时,我的眼睛会流血

答案 1 :(得分:0)

NSDateFormatter* format = [[NSDateFormatter alloc]init];
[format setDateFormat:@"MM/dd/YYYY"];

NSString * currentDate = [format stringFromDate:[NSDate date]];
NSDate *date = [format dateFromString:currentDate];