To zawsze jest dla mnie zagadka - i zdaję sobie sprawę, że nie jest to problem ściśle związany z programowaniem lub tworzeniem oprogramowania, ale wydaje się, że jest dość powszechny w naszej dziedzinie.
Na przykład, jeśli ustawiłbym datę wygaśnięcia jako 2011-04-08 00:00:00 - i biorąc pod uwagę mój aktualny czas lokalny, to już 8:45 już 8-ty - czy już wygasłem? A może mam jeszcze jakieś pół dnia?
Czy istnieje uniwersalny standard, do którego końca dnia „należy”?
A może powinienem wziąć list od brytyjskiego wojska i powiedzieć, że dzień kończy się o 23:59:59 i zaczyna o 00:00:01 i że nie ma północy?
language-agnostic
time
HorusKol
źródło
źródło
24:00:00
jest używany do opisywania północy pod koniec dnia.Odpowiedzi:
Myślę, że w programowaniu (Oracle i php, nie jestem pewien co do innych języków), północ to początek dnia. Na przykład, jeśli skrócisz (sysdate), dostaniesz 2011-04-08 00:00:00, co jest naszą przeszłością.
więc kiedy zegar zmienił się z 23:59:59 na 00:00:00, data faktycznie zmieniła się z 2011-04-08 na 2011-04-09
źródło
Dodatek do odpowiedzi @Phelios, jeśli masz czas taki jak 00:00:00, niekoniecznie jest to dokładnie północ. Jest to raczej nieskończenie duży zestaw punktów w czasie, z których wszystkie mają maksymalną odległość <1 sekundy względem siebie. Na przykład wszystkie 00: 00: 00.345, 00: 00: 00.567 i 00: 00: 00.842 wyraźnie leżą po stronie dnia północy, ale dla celów wyświetlania zostaną skrócone do „00:00:00”. Podobnie, 23: 59: 59: 899 leży po północy w dawnych czasach. Zatem sama północ jest nieskończenie krótkim czasem między dniami, w których nigdy nie uderzysz w praktyce.
źródło
Jest to podobny problem do obliczania różnic między kątami przy użyciu geometrii kołowej, gdzie na przykład 0 stopni i 360 stopni (i 720 stopni itp.) Są takie same. Jaka jest różnica między 350 stopni a 10 stopni?
Odpowiedź: zależy od tego, w jaki sposób chcesz go zmierzyć - może to być 20 stopni lub 340 stopni. Ale obliczanie różnic kątowych jest w rzeczywistości dość nieuporządkowane. Calcs różnicy czasu są podobnie bałaganiarskie, chyba że zostaniesz przekonwertowany na formę wewnętrzną, która umożliwia zwykłe dodawanie i odejmowanie. Lub korzystasz z nowoczesnej biblioteki klasowej, która magicznie ukrywa wszystko przed tobą (a tym samym nigdy nie uczy nikogo o faktycznych szczegółach).
źródło