iOS从Python datetime.isoformat()的输出创建NSDate?

Tra*_*ggs 3 nsdate nsdateformatter ios7

我的python后端isoformat()在UTC日期时间使用该方法,这导致字符串看起来像2014-01-14T18:07:09.037000.在其他示例之后,我正在尝试从这些字符串创建NSDate(在JSON数据包中传递):

NSDateFormatter *dateFormatter = [NSDateFormatter new];
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:S"];
NSLog(@"cycle_base %@", myFields[@"cycle_base"]);
self.cycleBase = [dateFormatter dateFromString: myFields[@"cycle_base"]];
NSLog(@"cycleBase %@", self.cycleBase);
Run Code Online (Sandbox Code Playgroud)

我试过S格式字符串的部分(应该是小数秒?),但无济于事.我总是得到一个零.我究竟做错了什么?

Ped*_*eno 5

iOS 7遵循Unicode技术标准#35,这是一种格式模式列表.

在本文档中,你会发现格式字符串分数秒数资本小号.

NSString *string = @"2014-01-14T18:07:09.037000";

NSDateFormatter *formatter = [NSDateFormatter new];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.S";

NSDate *date = [formatter dateFromString:string];

NSLog(@"%@", date);
Run Code Online (Sandbox Code Playgroud)

这将为您提供有效的NSDate对象.不要忘记在NSDateFormatter对象上设置正确的时区和区域设置.