Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat mengonfigurasi zona waktu di Java melalui berbagai metode, memungkinkan aplikasi beroperasi dalam konteks zona waktu yang diinginkan. Dua pendekatan umum adalah mengatur variabel lingkungan TZ dan menentukan properti JVM -Duser.timezone. Artikel ini memberikan gambaran singkat tentang kedua metode.
Mengatur variabel lingkungan TZ
Variabel lingkungan TZ adalah cara standar untuk mengatur zona waktu untuk aplikasi yang berjalan pada sistem operasi seperti Unix. Saat Anda mengatur variabel ini, Java Virtual Machine (JVM) mengambil pengaturan zona waktu selama startup.
Mengatur variabel lingkungan TZ di tingkat OS
Gunakan langkah-langkah berikut untuk mengatur variabel lingkungan TZ di tingkat sistem operasi:
Identifikasi zona waktu yang diinginkan. Zona waktu biasanya ditentukan dalam format "Area/Lokasi", seperti "Amerika/New_York" atau "Eropa/London".
Atur variabel lingkungan
TZmenggunakan salah satu metode berikut:Pada sistem Unix/Linux, gunakan perintah berikut untuk mengatur variabel di terminal atau di file konfigurasi shell Anda -
.bashrc,.bash_profile,.zshrc, dan sebagainya:export TZ=America/New_YorkPada sistem Windows, gunakan perintah berikut untuk mengatur variabel di prompt perintah atau melalui pengaturan lingkungan sistem:
set TZ=America/New_York
Mulai ulang aplikasi sehingga JVM dapat mengambil pengaturan zona waktu baru.
Contoh
Dalam contoh berikut, aplikasi myapp.jar berjalan di zona waktu Europe/London:
export TZ=Europe/London
java -jar myapp.jar
Mengatur variabel lingkungan TZ dalam Dockerfile
Saat menjalankan aplikasi Java dalam kontainer, Anda dapat mengatur variabel lingkungan TZ dalam Dockerfile untuk memastikan bahwa kontainer berjalan di zona waktu yang diinginkan.
Contoh Dockerfile
Contoh berikut mengonfigurasi kontainer untuk menggunakan zona waktu America/New_York dengan mengatur variabel lingkungan TZ dan menginstal paket tzdata:
# 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"]
Mengatur properti JVM -Duser.timezone
Metode lain untuk mengonfigurasi zona waktu di Java adalah menentukan properti -Duser.timezone saat memulai JVM. Metode ini independen platform dan memungkinkan pengaturan zona waktu langsung dari baris perintah atau dalam skrip aplikasi. Properti JVM ini lebih diutamakan daripada variabel lingkungan TZ.
Gunakan langkah-langkah berikut untuk mengatur properti -Duser.timezone:
Identifikasi zona waktu yang diinginkan. Mirip dengan variabel lingkungan
TZ, zona waktu ditentukan dalam format "Area/Lokasi".Atur properti
-Duser.timezonedengan menambahkannya ke baris perintah Java saat memulai aplikasi, seperti yang ditunjukkan dalam contoh berikut:java -Duser.timezone=America/New_York -jar myapp.jar
Contoh
Dalam contoh berikut, aplikasi myapp.jar berjalan di zona waktu Asia/Tokyo:
java -Duser.timezone=Asia/Tokyo -jar myapp.jar
Sistem dan lingkungan lain
Anda dapat menerapkan prinsip-prinsip mengonfigurasi zona waktu di Java menggunakan variabel lingkungan TZ dan properti JVM -Duser.timezone ke sistem dan lingkungan lain. Baik Anda menjalankan aplikasi di platform cloud, dalam komputer virtual (VM), atau dalam berbagai sistem orkestrasi kontainer, Anda dapat menggunakan metode yang sama untuk memastikan bahwa aplikasi Java Anda beroperasi dalam konteks zona waktu yang benar.
Pada platform cloud, konfigurasikan variabel lingkungan TZ atau properti JVM dalam skrip penyebaran atau pengaturan konfigurasi lingkungan Anda.
Pada komputer virtual, atur variabel lingkungan TZ di lingkungan VM Anda atau gunakan properti JVM di skrip startup aplikasi Anda.
Dengan orkestrasi kontainer, gunakan contoh Dockerfile untuk aplikasi kontainer, memastikan bahwa data zona waktu tersedia dan diatur dengan benar.
Dengan mengikuti prinsip-prinsip ini, Anda dapat mencapai konfigurasi zona waktu yang konsisten di berbagai lingkungan penyebaran untuk aplikasi Java Anda.