Konfigurace časových pásem v Javě
Časová pásma v Javě můžete nakonfigurovat různými metodami, což umožňuje aplikacím pracovat v požadovaném kontextu časového pásma. Dva běžné přístupy jsou nastavení TZ
proměnné prostředí a určení vlastnosti -Duser.timezone
JVM . Tento článek obsahuje stručný přehled obou metod.
Proměnná TZ
prostředí je standardní způsob nastavení časového pásma pro aplikace běžící v operačních systémech unixových systémů. Když nastavíte tuto proměnnou, nástroj Java Virtual Machine (JVM) převezme nastavení časového pásma během spouštění.
Pomocí následujících kroků nastavte proměnnou TZ
prostředí na úrovni operačního systému:
Identifikujte požadované časové pásmo. Časové pásmo se obvykle zadává ve formátu "Oblast/umístění", například "Amerika/New_York" nebo "Evropa/Londýn".
Nastavte proměnnou
TZ
prostředí pomocí jedné z následujících metod:V systémech Unix/Linux pomocí následujícího příkazu nastavte proměnnou v terminálu nebo v konfiguračním souboru prostředí -
.bashrc
,.bash_profile
a.zshrc
tak dále:export TZ=America/New_York
V systémech Windows pomocí následujícího příkazu nastavte proměnnou na příkazovém řádku nebo prostřednictvím nastavení systémového prostředí:
set TZ=America/New_York
Restartujte aplikaci, aby JVM mohl vyzvednout nové nastavení časového pásma.
V následujícím příkladu aplikace myapp.jar běží v časovém pásmu Europe/London
:
export TZ=Europe/London
java -jar myapp.jar
Při spouštění aplikací v Javě v kontejnerech můžete nastavit TZ
proměnnou prostředí v souboru Dockerfile, aby se zajistilo, že kontejner běží v požadovaném časovém pásmu.
Následující příklad nakonfiguruje kontejner tak, aby používal America/New_York
časové pásmo nastavením TZ
proměnné prostředí a instalací tzdata
balíčku:
# Use a base image with Java installed
FROM mcr.microsoft.com/openjdk/jdk:21-mariner
# Set the timezone environment variable
ENV TZ=America/New_York
# Set the working directory
WORKDIR /app
# Copy the application JAR file to the container
COPY myapp.jar /app/myapp.jar
# Run the application
CMD ["java", "-jar", "myapp.jar"]
Další metodou konfigurace časového pásma v Javě je určení -Duser.timezone
vlastnosti při spuštění prostředí JVM. Tato metoda je nezávislá na platformě a umožňuje nastavit časové pásmo přímo z příkazového řádku nebo v rámci skriptů aplikace.
K nastavení -Duser.timezone
vlastnosti použijte následující postup:
Identifikujte požadované časové pásmo.
TZ
Podobně jako proměnná prostředí je časové pásmo zadáno ve formátu "Oblast/umístění".-Duser.timezone
Vlastnost nastavte tak, že ji přidáte do příkazového řádku Java při spuštění aplikace, jak je znázorněno v následujícím příkladu:java -Duser.timezone=America/New_York -jar myapp.jar
V následujícím příkladu aplikace myapp.jar běží v časovém pásmu Asia/Tokyo
:
java -Duser.timezone=Asia/Tokyo -jar myapp.jar
Principy konfigurace časových pásma v Javě můžete použít pomocí TZ
proměnné prostředí a -Duser.timezone
vlastnosti JVM pro jiné systémy a prostředí. Bez ohledu na to, jestli spouštíte aplikace na cloudových platformách, v rámci virtuálních počítačů nebo v různých systémech orchestrace kontejnerů, můžete stejnými metodami zajistit, aby vaše aplikace v Javě fungovaly ve správném kontextu časového pásma.
Na cloudových platformách nakonfigurujte TZ
proměnnou prostředí nebo vlastnost JVM v rámci skriptů nasazení nebo nastavení konfigurace prostředí.
Na virtuálních počítačích nastavte proměnnou TZ
prostředí v prostředí virtuálního počítače nebo ve spouštěcích skriptech aplikace použijte vlastnost JVM.
Při orchestraci kontejnerů použijte příklad souboru Dockerfile pro kontejnerizované aplikace, abyste zajistili, že jsou data časového pásma dostupná a správně nastavená.
Pomocí těchto principů můžete dosáhnout konzistentní konfigurace časového pásma napříč různými prostředími nasazení pro vaše aplikace v Javě.