Как получить системную дату на iPhone - PullRequest
2 голосов
/ 20 января 2012
NSDate * now = [NSDate date];

Я получаю эту дату на час раньше.Вероятно, это потому, что он использует UTC.Как узнать текущую дату системы?

Ответы [ 2 ]

3 голосов
/ 20 января 2012

[NSDate date] возвращает текущую дату.Однако NSDate не имеет собственного часового пояса, это просто абсолютный момент времени.Часовой пояс вступает в действие только тогда, когда вы представляете дату в виде строки или конвертируете ее в компоненты даты (например, день, месяц, час и т.в текущем часовом поясе или используйте setTimeZone: в форматере даты, чтобы указать другой.Если вы просто используете NSLog, дата будет представлена ​​в часовом поясе UTC (путем неявного вызова description для объекта даты).

Используйте метод NSCalendar components:fromDate: чтобы извлечь отдельные компоненты (с заданным часовым поясом) из вашей даты для типичных сравнений, например, «эти две даты попадают в один и тот же день в этом часовом поясе?».

0 голосов
/ 20 января 2012

вам нужно установить системное время и дату по Гринвичу, возможно, это вам поможет.

...