Niedawno napisałem projekt .net core, wdrożony na CentOS i uruchomiony na dockerze, odkryłem, że DateTime.Now uzyskał czas niezgodny z Windows (zadanie zaplanowane, 8 godzin spóźnione), a czas lokalny został poprawnie uzyskany w Windowsie, podczas gdy czas uzyskany w środowisku Docker Linxu CentOS był o 8 godzin krótszy. Sprawdź czas lokalny za pomocą polecenia Linxu, czas jest poprawny, ale rdzeń .net nadal jest o 8 godzin krótszy niż 8 godzin podczas działania w Dockerze. Przypuszczając, że to może być problem ze strefą czasową, znalazłem bibliotekę NodaTime, która pozwala uzyskać czas zunifikowanej strefy czasowej, która jest taka sama jak czas uzyskany w środowisku Docker w Linxu CentOS.
Instalacja Nugeta:
Metoda rozszerzania opakowania:
Czas uzyskany w programie można utrzymać w następujących metodach, aby zachować jednolitość między Windows a Linux:
Załączono też tutorial dotyczący czasu konfiguracji kontenera:
(Koniec)
|