Kürzlich habe ich ein .net-Core-Projekt geschrieben, das auf CentOS bereitgestellt und auf Docker ausgeführt wurde, festgestellt, dass DateTime.Now die Zeit mit Windows inkonsistent bekam (geplante Aufgabe, 8 Stunden verspätet), und die lokale Zeit wurde korrekt in Windows ermittelt, während die in der Docker-Umgebung von Linxu CentOS erhaltene Zeit 8 Stunden weniger war. Überprüfe die lokale Zeit mit dem Linxu-Befehl, die lokale Zeit ist korrekt, aber der .net-Core ist immer noch 8 Stunden weniger als 8 Stunden, wenn er in Docker läuft. Ich vermute, dass es ein Zeitzonenproblem sein könnte, und habe eine Bibliothek von NodaTime gefunden, um die Zeit der einheitlichen Zeitzone zu erhalten, die dieselbe ist wie die Zeit, die in der Docker-Umgebung von Linxu CentOS erhalten wurde.
NuGet-Installation:
Paketerweiterungsmethode:
Die im Programm gewonnene Zeit kann mit folgenden Methoden gehalten werden, um die Einheitlichkeit zwischen Windows und Linux zu gewährleisten:
Außerdem ist ein Tutorial zur Container-Einrichtungszeit beigefügt:
(Ende)
|