Jeg skrev for nylig et .net core-projekt, blev udrullet til CentOS og kørt på docker, og fandt ud af, at DateTime.Now fik tiden inkonsistent med Windows (planlagt opgave, 8 timer forsinket), og den lokale tid blev korrekt opnået i Windows, mens tiden opnået i Linxu CentOS' Docker-miljø var 8 timer mindre. Tjek lokal tid med Linxu-kommandoen, den lokale tid er korrekt, men .net-kernen er stadig 8 timer mindre end 8 timer, når den kører i Docker. Jeg gætter på, at det kunne være et tidszoneproblem, og fandt et bibliotek af NodaTime for at få tiden for den samlede tidszone, som er den samme som den tid der opnås i Docker-miljøet i Linxu CentOS.
NuGet-installation:
Pakkeudvidelsesmetode:
Den tid, der opnås i programmet, kan opretholdes ved følgende metoder for at opretholde ensartethed mellem Windows og Linux:
Derudover er der vedhæftet en vejledning om containeropsætningstid:
(Slut)
|