Jak pyta temat; czy znaczniki czasu UNIX zmieniają się w każdej strefie czasowej?
Na przykład, jeśli wyślę żądanie do innego e-maila na drugą stronę świata, mówiąc: „Wyślij wiadomość e-mail o godzinie 1397484936” , czy znacznik czasu drugiego serwera będzie opóźniony o 12 godzin?
unix-timestamp
Ben Poulson
źródło
źródło
Odpowiedzi:
Definicja znacznika czasu UNIX jest niezależna od strefy czasowej. Sygnatura czasowa to liczba sekund (lub milisekund), które upłynęły od bezwzględnego punktu w czasie, północy 1 stycznia 1970 czasu UTC. (UTC to średni czas Greenwich bez korekt czasu letniego). Niezależnie od Twojej strefy czasowej, znacznik czasu reprezentuje moment, który jest wszędzie taki sam. Oczywiście możesz konwertować tam iz powrotem do reprezentacji lokalnej strefy czasowej (czas 1397484936 to taki a taki czas lokalny w Nowym Jorku lub inny czas lokalny w Dżakarcie), jeśli chcesz.
Artykuł pod adresem http://en.wikipedia.org/wiki/Unix_time jest imponujący, jeśli chcesz dłużej czytać.
źródło
in UTC time
. Istnieją dwa przesunięcia, araw offset
iDST offset
. Na przykładAmerica/New_York
przesunięcie surowe to-18000
, a przesunięcie czasu letniego to3600
, więc z dowolnego znacznika czasu UNIX musisz wykonać obliczeniaUNIX + offset + dstOffset
, aby uzyskać znacznik czasu z Nowego Jorku.Czas uniksowy definiuje się jako liczbę sekund, które upłynęły od 00:00:00 uniwersalnego czasu koordynowanego ( UTC ), czwartek, 1 stycznia 1970 r. Odpowiedź brzmi więc: nie
źródło
Jeśli oba komputery są prawidłowo skonfigurowane, a ich zegary są ustawione na prawidłowe wartości strefy czasowej i czasu UTC, powinny zwrócić tę samą wartość.
Oczywiście to duży IF. Jest prawie pewne, że między czasem zgłaszanym przez dwa komputery będzie różnica co najmniej sekundy, a częściej minut. Wiele komputerów jest skonfigurowanych tak, aby mieć nieprawidłowe ustawienia strefy czasowej i będą zgłaszać swój czas lokalny, gdy zostaniesz zapytany o znacznik czasu, a nie UTC.
I na tym polega różnica między teorią a praktyką. W teorii jest tak samo, w praktyce nigdy nie należy na tym polegać.
źródło
Uniksowe znaczniki czasu nie zmieniają się w różnych strefach czasowych , są tworzone w celu posiadania standardowego czasu na całym świecie.
UWAGA: - Znaczniki czasu są obliczane na podstawie aktualnego czasu w komputerze, dlatego nie należy na nich polegać, dopóki nie masz pewności co do ustawień czasu w uczestniczących maszynach.
źródło
Ktoś stwierdził, że „UTC to czas uniwersalny Greenwich bez korekty czasu letniego”. To po prostu nieprawda. GMT nie ma czasu letniego. GMT jest mierzone w Greenwich w Anglii (w Naval Obeservatory) [0 długości geograficznej, ale nie 0 szerokości geograficznej]. Czas UTC jest mierzony na równiku [0 długości i 0 szerokości geograficznej - co zdarza się, że leży w oceanie u wybrzeży Afryki].
Jaką to robi różnicę? Nie robi różnicy, jeśli chodzi o to, „która jest pora dnia?” Ma to jednak znaczenie, jeśli chodzi o obliczanie roku. Teraz można by pomyśleć, że rok będzie mierzony w oparciu o położenie środka (jądra) ziemi, prawda? Kiedy jądro Ziemi powróciło w to samo miejsce, co około 365 dni temu, minął rok. Nie jest to mierzone w ten sposób. Mierzy się go przez określone miejsce na Ziemi wracające do tego samego miejsca (względem słońca), co ~ 365 dni temu. Ale okres dnia i roku nie jest równy. Kiedy Ziemia wróci mniej więcej na miejsce, w którym była rok temu, nie jest zwrócona w tym samym kierunku, co w zeszłym roku, więc miejsce na ziemi nie jest skierowane w tym samym kierunku, co rok temu. Będąc dalej na północ, Greenwich nie wróci do tego samego miejsca (względem słońca), co w zeszłym roku, w tym samym czasie, gdy wynosi 0 Lat / 0 Long. Więc jeśli opierasz definicję na Greenwith kontra 0/0, otrzymasz, choć nieco inną, odpowiedź na pytanie „ile dni ma rok”. Innymi słowy, kiedy dane miejsce na Ziemi wraca do miejsca, w którym było rok temu (w stosunku do Słońca), jądro Ziemi nie znajduje się w tym samym miejscu co rok temu, więc jakie miejsce wybierasz sprawy, ponieważ jądro ziemi będzie znajdować się w innym miejscu (w stosunku do słońca) niż rok temu, jeśli wybierzesz inne miejsce na ziemi. choć trochę inna odpowiedź na pytanie "ile dni ma rok". Innymi słowy, kiedy dane miejsce na Ziemi wraca do miejsca, w którym było rok temu (w stosunku do Słońca), jądro Ziemi nie jest w tym samym miejscu co rok temu, więc jakie wybierasz sprawy, ponieważ jądro ziemi będzie znajdować się w innym miejscu (w stosunku do słońca) niż rok temu, jeśli wybierzesz inne miejsce na ziemi. choć trochę inna odpowiedź na pytanie "ile dni ma rok". Innymi słowy, kiedy dane miejsce na Ziemi wraca do miejsca, w którym było rok temu (w stosunku do Słońca), jądro Ziemi nie znajduje się w tym samym miejscu co rok temu, więc jakie wybierasz sprawy, ponieważ jądro ziemi będzie znajdować się w innym miejscu (względem Słońca) niż było rok temu, jeśli wybierzesz inne miejsce na ziemi.
Ani UTC, ani GMT nie mają czasu letniego. Czas europejski / londyński, strefa czasowa, w której znajduje się Greenwich, tak. Ale GMT nie. GMT to coś, co Amerykanie nazwaliby „czasem standardowym” - tj. Bez czasu letniego.
Wracając do pytania, czas epoki nie ma technicznie określonej strefy czasowej. Opiera się na określonym punkcie w czasie, który tak się składa, że pokrywa się z „parzystym” czasem UTC (dokładnie na początku roku i dekady itd.). Jeśli ta koncepcja nie pasuje dobrze do twojego mózgu i jeśli pomaga myśleć o czasie epoki jako o UTC, śmiało. Jesteś w dobrym towarzystwie i masz wielki plan, to naprawdę nie ma znaczenia. Widziałeś kiedyś te procesy sądowe, w których komuś przyznano 1 dolara. To rodzaj werdyktu typu „masz rację, ale to nie ma znaczenia”. Gdyby ktoś pozwał cię za powiedzenie, że czas epoki jest w strefie czasowej UTC, wygrałby 1 $. To nie kupiłoby im filiżanki kawy w żadnym Starbucksie w żadnej strefie czasowej na świecie.
źródło