Czy istnieje łatwy sposób na zainicjowanie NSDate
z aktualną datą / godziną UTC?
NSDate
ustawienie UTC, nie ma z nim skojarzonej strefy czasowej.
NSDate
reprezentuje chwilę w czasie (nazwa NSDate
jest trochę myląca). Opisując czas, taki jak „pierwsza chwila 1 stycznia 2001 r.”, Potrzebujesz strefy czasowej, aby określić, o jakiej dokładnie chwili w czasie mówisz, ale po NSDate
utworzeniu nie ma z nią skojarzonej strefy czasowej.
NSLog(@"since1970= %f", [[NSDate date] timeIntervalSince1970]);
wynik jest taki sam. Czemu? Ponieważ jest to odniesienie do określonego punktu w czasie w określonej strefie czasowej (GMT), bez względu na to, gdzie znajduje się użytkownik. Fakt, że jest on względny w stosunku do GMT, nie znika po utworzeniu. Bez tej kotwicy daty byłyby arbitralne.
NSDate
ustawiony na UTC”, ponieważ nie możesz ustawić strefy czasowej NSDate
i mylisz się, mówiąc to ma „strefę czasową”. Prawdą jest, że jest zdefiniowany w odniesieniu do określonej strefy czasowej, ale stwierdzenie, że „ma” strefę czasową, oznacza, że strefa czasowa jest własnością NSDate
, a to nie jest prawda.
[NSDate date]
? Nie jestem pewien, czy to UTC.