Jest jedna ogromna różnica, w której nie można używać samego UTC.
-
Jeśli masz taki scenariusz
- Jeden serwer i kilku klientów (wszystkie geograficznie w różnych strefach czasowych )
- Klienci tworzą pewne dane z informacjami o dacie i godzinie
- Klienci przechowują to wszystko na centralnym serwerze
-
Następnie:
- datetimeoffset przechowuje czas lokalny klienta i TAKŻE offset do czasu UTC
- wszyscy klienci znają czas UTC wszystkich danych, a także czas lokalny w miejscu, z którego pochodzą informacje
-
Ale:
- Data i godzina UTC przechowuje tylko datę i godzinę UTC , więc nie masz informacji o czasie lokalnym w lokalizacji klienta, z której pochodzą dane
- Inni klienci nie znają lokalnego czasu miejsca, z którego pochodzą informacje o dacie i godzinie
- Inni klienci mogą obliczać tylko swój czas lokalny z bazy danych (używając czasu UTC), a nie czasu lokalnego klienta, z którego pochodzą dane
Prostym przykładem jest system rezerwacji biletów lotniczych ... Bilet powinien zawierać 2 razy:- czas "startu" (w strefie czasowej miasta "Z") - czas "lądowania" (w strefie czasowej miasta "docelowego")