Neseniai parašė .net pagrindinį projektą, įdiegtą "CentOS" ir paleistą "docker", nustatė, kad "DateTime.Now" gavo laiką, neatitinkantį "Windows" (suplanuota užduotis, vėluoja 8 valandas), o vietinis laikas buvo teisingai gautas sistemoje "Windows", o "Linxu CentOS" "Docker" aplinkoje gautas laikas buvo 8 valandomis trumpesnis. Patikrinkite vietos laiką naudodami komandą "Linxu", vietinis laikas yra teisingas, tačiau .net branduolys vis tiek yra 8 valandomis trumpesnis nei 8 valandos, kai veikia "Docker". Spėliodamas, kad tai gali būti laiko juostos problema, radau "NodaTime" biblioteką, kad gaučiau vieningos laiko juostos laiką, kuris yra toks pat kaip laikas, gautas "Linxu CentOS" "Docker" aplinkoje.
Nuget įdiegti:
Pakuotės išplėtimo būdas:
Programoje gautą laiką galima išlaikyti šiais būdais, kad būtų išlaikytas vienodumas tarp "Windows" ir "Linux":
Taip pat pridedama pamoka apie konteinerio nustatymo laiką:
(Pabaiga)
|