Co dokładnie oznacza T i Z w sygnaturze czasowej?

103

Mam wartość tego znacznika czasu zwracanego przez usługę sieciową "2014-09-12T19:34:29Z"

Wiem, że to oznacza strefę czasową, ale co to dokładnie oznacza?

I próbuję kpić z tej usługi sieciowej, więc czy istnieje sposób na wygenerowanie tego znacznika czasu strftimew Pythonie?

Przepraszamy, jeśli jest to boleśnie oczywiste, ale Google nie był zbyt pomocny, podobnie jak strftime()strona odniesienia.

Obecnie używam tego:

x.strftime("%Y-%m-%dT%H:%M:%S%Z")
'2015-03-26T10:58:51'
roymustang86
źródło

Odpowiedzi:

135

To Ttak naprawdę nic nie oznacza. Jest to tylko separator , którego wymaga połączony format daty i godziny ISO 8601 . Możesz go przeczytać jako skrót od czasu .

ZStoi za Zero strefy czasowej, jak to jest równoważone przez 0 z uniwersalnym czasem koordynowanym (UTC) .

Oba znaki są po prostu statycznymi literami w formacie, dlatego nie są dokumentowane datetime.strftime()metodą. Mogłeś użyć Qlub Mlub, Monty Pythona metoda zwróciłaby je również w niezmienionej postaci; metoda wyszukuje tylko wzorce zaczynające się od, %aby zastąpić je informacjami z datetimeobiektu.

Martijn Pieters
źródło
9
ZFaktycznie oznacza Zulu , która jest „name” z UTC0. Brzmi dziwnie, ale każda strefa czasowa ma swoją nazwę.
TomCho
20
@TomCho: nie, Zuluto fonetyczny alfabet nazwa NATO Z, i to jest stosowane, ponieważ strefa czasowa jest strefa czasowa Zero. Zobacz link do Wikipedii, który zawarłem w odpowiedzi: Czas UTC jest również znany jako czas „Zulu”, ponieważ „Zulu” to słowo kodowe pisowni ICAO oznaczające literę „Z”.
Martijn Pieters
5
@TomCho: wygląda na to, że TimeAndDate ma to wstecz; Zprzyszedł wcześniej Zulu, powiedziałbym. en.wikipedia.org/wiki/List_of_military_time_zones jest interesujący, ale nie podaje żadnego historycznego uzasadnienia dla Z używanego w strefie czasowej z zerowym przesunięciem, tyle że Zjest tak nazwana Zulu.
Martijn Pieters
1
+1 Prawda, zgadzam się z tobą. To dziwne, że nie używają litery Jw strefach wojskowych. Może z powodu innej wymowy w idiomach, takich jak niemiecki czy fiński? W każdym razie dzięki za wyjaśnienie sprawy.
TomCho
5
@TomCho: Zjest używany dla +0000(w tym czasie GMT) od lat pięćdziesiątych (zanim jeszcze istniał UTC). Jak rozumiem, Zto tylko litera (możesz użyć mnemonika Zero i / lub wymawiać ją jako Zulu(z powszechnie używanego alfabetu pisowni)
jfs