Как установить дату в листе [NSDate dateWithTimeIntervalSince1970: 0]? - PullRequest
0 голосов
/ 23 сентября 2011

В моем списке есть строка, использующая тип Date. Я вручную установил дату 1 января 1970 года в 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

Какую дату я должен набрать в моем списке, чтобы убедиться, что значение по умолчанию равно [NSDate dateWithTimeIntervalSince1970:0]?

Ответы [ 2 ]

2 голосов
/ 24 сентября 2011

В навигаторе проекта XCode вы можете щелкнуть правой кнопкой мыши файл plist и выбрать Открыть как исходный код. Это позволит вам отредактировать файл в необработанном виде XML.

Оттуда вы можете установить время более точно, используя «Z». Таким образом, вы можете получить что-то вроде этого:

<key>startDate</key>
<date>1970-01-01T00:00:00Z</date>
1 голос
/ 24 сентября 2011

Часовые пояса снова бьют!Дата, с которой вы сравниваете: 00:00 по Гринвичу 01.01.1970, а не 00:00 по местному времени, поэтому вам нужно указать часовой пояс в дате в списке.Попробуйте использовать тот же суффикс "+0000" в списке, который вы получили в выводе, и все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...