Czy istnieje łatwy sposób na zainicjowanie NSDatez aktualną datą / godziną UTC?
NSDateustawienie UTC, nie ma z nim skojarzonej strefy czasowej.
NSDatereprezentuje chwilę w czasie (nazwa NSDatejest 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 NSDateutworzeniu 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.
NSDateustawiony na UTC”, ponieważ nie możesz ustawić strefy czasowej NSDatei 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.