可可 – 解析rfc3339日期与NSDateFormatter在iOS 4.x和MacOS X 10.6:不可能?

可可 – 解析rfc3339日期与NSDateFormatter在iOS 4.x和MacOS X 10.6:不可能?,第1张

概述在一般情况下,使用NSDateFormatter解析rfc3339日期似乎是不可能的。我错了吗? [编辑2年后:现在有一种方式!见下文和脚注。] 一个不是特别有价值的网络服务正在给我的日期像: 2009-12-31T00:00:00-06:00 符合Rfc3339,它们正在使用的jaxb库的默认输出。注意,当偏移量不是文字“z”时,rfc3339需要的冒号: 06001 我想将这些解析成NSDat 在一般情况下,使用NSDateFormatter解析rfc3339日期似乎是不可能的。我错了吗? [编辑2年后:现在有一种方式!见下文和脚注。]

一个不是特别有价值的网络服务正在给我的日期像:

2009-12-31T00:00:00-06:00

符合Rfc3339,它们正在使用的jaxb库的默认输出。注意,当偏移量不是文字“z”时,rfc3339需要的冒号:

06001

我想将这些解析成NSDates。

NSDateFormatter希望以Unicode指定的语法中的模式,它为“PDT”,“-0800”,“GMT-08:00”等时区提供日期字段符号,而不是“-08:00”。

谷歌和其他类似的SO问题,只产生日期格式

[myDateParser setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssZ"];/* or: */ [myDateParser setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];

后者需要一个字面的“Z”,前者坚持要么没有冒号或存在“GMT”。然而,它们似乎在ios 4.x之前工作(可能通过完全丢弃tz偏移量;我的数据不清楚)

在这一点上我的选择是一个很抱歉:

>发现一些未记录的格式说明符,或者一些奇怪的模式来放入NSDateFormatter,那将接受流浪冒号:longshot,可能不存在。 [脚注]
说服我的服务出版商将所有日期变成zulu时间并指定“Z”:具有政治挑战。
写我自己的NSFormatter子类或研究好的旧strptime_l:工作。 总结

以上是内存溢出为你收集整理的可可 – 解析rfc3339日期与NSDateFormatter在iOS 4.x和MacOS X 10.6:不可能?全部内容,希望文章能够帮你解决可可 – 解析rfc3339日期与NSDateFormatter在iOS 4.x和MacOS X 10.6:不可能?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1036849.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存