如何将plist中的日期设置为[NSDate dateWithTimeIntervalSince1970:0]?

时间:2011-09-23 19:57:17

标签: objective-c cocoa-touch cocoa

我的plist中有一行使用Date类型。我手动设置为1970年1月1日上午12:00:00的日期。我使用plist作为NSUserDefaults的默认值。当我使用NSUserDefaults读取值时,它返回1970-01-01 08:00:00 +0000。因此,此检查始终失败:

if ([defaultDateFromPlist isEqualToDate:[NSDate dateWithTimeIntervalSince1970:0]])
   // this never evaluates to true since the time is returning 08:00:00

我在plist中输入什么日期以确保默认值等于[NSDate dateWithTimeIntervalSince1970:0]

2 个答案:

答案 0 :(得分:2)

在Xcode项目导航器中,您可以右键单击plist文件并选择Open as Source Code。这将允许您以原始XML格式编辑文件。

从那里你可以使用“Z”更精确地设置时间。所以你可以这样:

<key>startDate</key>
<date>1970-01-01T00:00:00Z</date>

答案 1 :(得分:1)

时区再次袭击!您要比较的日期是格林威治标准时间1970年1月1日00:00,而不是当地时间00:00,因此您需要在plist中指定日期中的时区。尝试在输出中使用与plist相同的“+0000”后缀,你应该没问题。