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