Чи є простий спосіб ініціювати NSDate
поточну дату / час UTC?
Не існує такого поняття, як
—
Нік Фордж
NSDate
встановлення UTC, воно не має часового поясу, пов’язаного з ним.
@MurraySagal Ви помилкові -
—
Нік Фордж
NSDate
представляє момент у часі (ім'я NSDate
є дещо неправильним). Описуючи такий час, як "перша мить 1 січня 2001 року", вам потрібен часовий пояс, щоб визначити, про який саме момент часу ви говорите, але як тільки час NSDate
створений, часовий пояс з ним не пов'язаний.
@NickForge NSDate створюється як "перша мить 1 січня 2001 р., GMT", конкретний час у певному часовому поясі, і цей факт є незмінним і критично важливим для того, чому дати працюють так, як вони працюють. Якщо ми знаходимося в різних часових поясах, і ми реєстрували це в один і той же момент,
—
Мюррей Сагал
NSLog(@"since1970= %f", [[NSDate date] timeIntervalSince1970]);
результат однаковий. Чому? Оскільки це відносно конкретного моменту часу у певному часовому поясі (GMT), незалежно від того, де знаходиться користувач. Той факт, що він відносно GMT, не зникає після його створення. Без цього якоря дати були б довільними.
@MurraySagal Ви обидва маєте рацію по-різному, але Нік має рацію, сказавши "Не існує такого поняття, як
—
devios1
NSDate
встановлення UTC", тому що ви не можете встановити часовий пояс ан NSDate
, і ви неправильно говорите, що він "має часовий пояс". Це правда, що він визначений щодо конкретного часового поясу, але якщо він має "часовий пояс", це означає, що часовий пояс є властивістю NSDate
, а це не відповідає дійсності.
[NSDate date]
? Я не впевнений, це UTC.