Nedávno som napísal .net core projekt, nasadil ho na CentOS a spustil na dockeri, zistil som, že DateTime.Now mal čas nekonzistentný s Windows (plánovaná úloha, 8 hodín oneskorený) a lokálny čas bol správne získaný vo Windows, zatiaľ čo čas získaný v prostredí Docker Linxu CentOS bol o 8 hodín kratší. Skontroluj lokálny čas pomocou príkazu Linxu, lokálny čas je správny, ale .net jadro je stále o 8 hodín menej ako 8 hodín, keď beží v Dockeri. Predpokladám, že by to mohol byť problém s časovým pásmom, našiel som knižnicu NodaTime na získanie času jednotného časového pásma, ktorý je rovnaký ako čas získaný v prostredí Docker v Linxu CentOS.
Inštalácia Nugetu:
Metóda rozšírenia balenia:
Čas získaný v programe je možné udržiavať nasledujúcimi metódami, aby sa zachovala jednotnosť medzi Windows a Linuxom:
Tiež je priložený tutoriál o čase nastavenia kontajnera:
(Koniec)
|