Ať už to uděláte jakýmkoli způsobem, selže to různými způsoby v závislosti na tom, co se mění.
-
Pokud ukládáte časová razítka v odpovídajícím časovém pásmu jako
2013-12-29 12:34:56 America/New_York
, to selže, pokud, řekněme, Bronx náhle spustí své vlastní časové pásmoAmerica/New_York_Bronx
s jiným posunem a vaše událost se stala v Bronxu.Rozhodněte, jak je to pravděpodobné a jak špatné by bylo selhání.
-
Pokud ukládáte časová razítka v UTC a časové pásmo, ve kterém se událost odehrává, předefinuje jejich posun (např. posunutí letního času nebo úplné posunutí na jiný posun), čas události se může lišit od skutečného času nástěnných hodin v daném místě. Pokud uložíte
2013-12-29 12:34:56 UTC
pro událost ve 13:34:56 v Berlíně, Německo a Berlín přesune svůj DST o,2013-12-29 12:34:56 UTC
může nyní odpovídat 14:34:56 berlínského místního času, zatímco událost ve skutečnosti stále probíhá ve 13:34 místního času.Rozhodněte, jak je to pravděpodobné a jak špatné by bylo selhání.
-
Pokud uložíte časové razítko UTC a propojíte jej s fyzickým umístěním, které pak propojíte s časovým pásmem, můžete oba problémy vyřešit. Ale k tomu budete muset uložit přesnou fyzickou polohu, nejen „New York“, jinak máte jen případ 1. s dalším mezikrokem. Pokud uložíte přesné fyzické umístění a máte přesný způsob, jak toto umístění převést na časové pásmo a budete udržovat databázi časového pásma aktuální, zvládnete v podstatě všechny scénáře změn.
Rozhodněte, jak je to praktické a jakou cenu pro vás tato extra přesnost má.