2011-05-19 83 views
1

我在日期选择器上设置默认日期1/1/1970。如果我不改变日期,但看看datePicker.date它出来为1/1/1969。如果我更改日期,它会正确显示。将默认日期设置为任何其他日期都可以正常工作,无需更改。它似乎不像1970年1月1日。UIDatePicker默认日期为1/1/1970返回为1/1/1969

有没有人遇到过这个?你的解决方案是什么?

回答

1

所以问题出在我的格式上。我以自定义日期格式使用YYYY,但我应该使用yyyy,因为大写字母是ISO年份日历。

因此显然在ISO日历1/1/1970 == 1/1/1969。

+0

好的发现,你从来没有提到在原始问题中使用NSDateFormatter,当你看到日期时你刚才说的,这就是为什么重要的是发布代码:) http://unicode.org/reports/tr35/tr35-10。 html#Date_Format_Patterns – Joe 2011-05-20 18:12:24

+0

是的......我不允许真的发布代码>。< – MishieMoo 2011-05-20 18:14:03

3

当您将日期设置为默认时注意时区。 1/1/1970 00:00 UTC可以很容易地将年份改为1969年在美洲的任何地方(UTC以西)。我不完全确定你为什么会在月份和年份获得1/1。

+0

从技术上讲,日期是1970年1月1日上午10点53分,根据我的IB,所以偏移不应该是东海岸的问题。如果时区是一个问题,它应该返回12/31/1969。 – MishieMoo 2011-05-19 20:57:06

+0

我没有看到实际的数学日期如何改变,或者从日期组件或POSIX时间本身减去一年。你尝试过其他日期吗?发布你如何设置默认日期的一些示例代码。 http://en.wikipedia.org/wiki/Unix_time – Joe 2011-05-19 20:59:33

+0

其他日期是100%正确的。这只是1/1/1970这是一个问题。默认日期在IB中设置。 – MishieMoo 2011-05-19 21:01:51