ios – 这些是什么类型的日期?

前端之家收集整理的这篇文章主要介绍了ios – 这些是什么类型的日期?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个格式日期的plist:
Mar 11,2013 10:16:31 AM

它出现在我的控制台中

2013-03-11 16:16:31 +0000

而webservice正在返回控制台中的内容

2013-03-01T18:21:45.231Z

如何将plist日期修改为与Web服务相同的格式?

解决方法@H_301_16@
关于您的三种日期格式:

>当您在Xcode中查看plist中的NSDate时,第一种只是日期格式,Xcode是当前语言环境中的人类可读日期(但如果您在文本编辑器中查看plist,您会看到它实际上是用@编写的) “yyyy’ – ‘MM’ – ‘dd’T’HH’:’mm’:’ss’Z’”格式).
>第二个是描述方法NSDate的默认格式(例如,您NSLog NSDate).
>第三种是RFC 3339/ISO 8601格式(分数为秒),通常用于Web服务.

请参阅Apple的Technical Q&A QA1480.

顺便说一下,技术说明不包括毫秒,所以你可能想要使用@“yyyy” – ‘MM’ – ‘dd’T’HH’:’mm’:’ss’.’SSS’ Z’“,例如:

NSDate *date = [NSDate date];
NSLocale *enUSPOSIXLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = enUSPOSIXLocale;
formatter.dateFormat = @"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'SSS'Z'";
formatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
NSString *dateString = [formatter stringFromDate:date];
NSLog(@"%@",dateString);

如果要将日期作为RFC 3339 / ISO 8601格式的字符串存储在plist中(或者,如果需要将NSDate转换为字符串以传输到Web服务),则可以使用此方法.如上所述,默认plist格式不会为NSDate对象保留一秒的分数,因此如果这很重要,将日期存储为上述代码生成的字符串可能很有用.

此日期格式化程序可用于将日期转换为字符串(使用stringFromDate),以及将正确格式化的字符串转换为NSDate对象(使用dateFromString).

原文链接:https://www.f2er.com/iOS/335638.html

猜你在找的iOS相关文章