Nedávno jsem napsal projekt .net core, nasadil ho na CentOS a spustil na dockeru, zjistil jsem, že DateTime.Now měl čas nekonzistentní s Windows (plánovaná úloha, 8 hodin zpoždění) a lokální čas byl správně získán ve Windows, zatímco čas získaný v Docker prostředí Linxu CentOS byl o 8 hodin nižší. Zkontrolujte místní čas příkazem Linxu, místní čas je správný, ale .net jádro je stále o 8 hodin méně než 8 hodin při běhu v Dockeru. Tipoval jsem, že by to mohl být problém časového pásma, a tak jsem našel knihovnu NodaTime, která mi umožňuje získat čas sjednoceného časového pásma, což je stejný čas získaný v Docker prostředí Linxu CentOS.
Instalace Nugetu:
Metoda rozšíření balení:
Čas získaný v programu lze udržet následujícími metodami, aby byla zachována jednotnost mezi Windows a Linuxem:
Také je přiložen návod na dobu nastavení kontejneru:
(Konec)
|