iOS日期格式与微秒的奇怪行为

时间:2013-01-03 14:50:24

标签: ios nsdateformatter date-format

解析日期字符串时遇到一个奇怪的问题。我有一个格式为:

的日期格式化程序
yyyy-MM-dd HH:mm:ss.SSSSSSZZ

和日期字符串:

2012-11-09 10:47:01.999804+01

dateFromString方法返回nil,但是当我将日期字符串更改为ie:

2012-11-09 10:47:01.989804+01

它有效...有没有人知道为什么微秒值有这样的限制,我如何正确解析上面的日期?

我可以使用正则表达式来解析它并切割整个SSSSSS部分,但有时我通常需要比较日期以便它们不匹配,这会导致更多问题。

2 个答案:

答案 0 :(得分:0)

我没有结束这样的琐事,终于让它起作用但剥离了点秒并使用了以下格式

#define DATEFORMATSTRINGTIMEZONE @"yyyy-MM-dd HH:mm ZZZ"

有点像你说的那样。我不得不承认更多的项目我意识到这是一个非常困难的共享日期的方法,而是采用了纪元时间,这已经消除了我对时区的所有头痛......如果你有奢侈品,我强烈推荐它更改传入的数据格式。

虽然我不确定你为什么不解析,但是如果你有+01而不是+1,我会质疑ZZ而不是ZZZ?

答案 1 :(得分:0)

我终于解决了这个问题。

我正在修改日期格式和日期字符串以删除微秒,因此我可以正确地解析日期。然后我只添加从原始日期字符串解析的微秒。