【发布时间】:2013-05-03 08:07:58
【问题描述】:
我正在尝试获取今年一周的日期。这是我的代码,也是正在计算的运行时值:
为什么年份不正确?也尝试了其他格式,比如 y-w 并且都给了我相同的结果。如果我使用 YYYY-w 但我会得到错误的月份/日期,这个问题会自行解决,因为年份的计算方式不同。仅供参考,这就是我从 YYYY 得到的信息:
现在日期 04-29 是“yyyy”情况下第 18 周的正确日期(请参阅此处:http://www.epochconverter.com/date-and-time/weeknumbers-by-year.php),但只有使用“YYYY”时年份才正确(那么日期是错误的)。
那是怎么回事?
-------- 更新 1 ---------
添加答案之一中提供的解决方案后:
-------- 更新 2 ----------
所以我的日期 2000 与“未定义年份”的值相同(以前是 1970 年)。见这里:http://openradar.appspot.com/12358210
-------- 更新 3 ----------
系统信息(对于那些将尝试复制此信息的人)。
XCode:版本 4.6.2 (4H1003) iOS:6.1 OSX:10.8.3
-------- 更新 4 ----------
iOS 5.1 在使用这个时会提供不同的结果:
好像 iOS 5.1 不支持 NSDateFormatter 中的“w”。
【问题讨论】:
-
你想得到周数吗?
-
我有周数。我想通过使用这个 NSDateFormatter 来获得正确的年月日。
-
使用NSCalender有什么限制吗?
-
使用 NSCalendar 没有任何限制,但我不想解决这样的问题,我想知道为什么我在这里错了。
-
当你尝试像 yyyy-w 格式时发生了什么?
标签: iphone ios xcode nsdate nsdateformatter