Mengatasi Waktu Penjimatan Siang di Java Menggunakan Zon Waktu
Apabila bekerja dengan zon waktu di Java, adalah penting untuk mempertimbangkan masa penjimatan siang (DST ) untuk memastikan perwakilan masa yang tepat. Artikel ini menangani isu biasa yang dihadapi apabila menggunakan kelas Zon Waktu bersama-sama dengan EST (Waktu Standard Timur).
Pernyataan Masalah:
Apabila menetapkan zon waktu kepada EST menggunakan TimeZone.getTimeZone("EST"), aplikasi gagal melaraskan DST, mengakibatkan percanggahan satu jam. Isu ini berterusan walaupun semasa menggunakan TimeZone.getTimeZone("EDT").
Penyelesaian:
Isu asas berpunca daripada penggunaan EST dan EDT. Singkatan ini merujuk kepada masa "standard" dan "siang hari", masing-masing, dan tidak mewakili zon waktu sepenuhnya. Untuk menyelesaikan masalah ini, adalah penting untuk menggunakan nama zon masa sepenuh masa.
Sebagai contoh, untuk mewakili zon waktu Timur, termasuk kedua-dua masa standard dan penjimatan siang, gunakan TimeZone.getTimeZone("America/New_York") . Ini memastikan aplikasi mengendalikan pelarasan DST secara dinamik.
Dalam amalan, coretan kod berikut akan mencetak masa yang betul tanpa mengira DST:
TimeZone zone = TimeZone.getTimeZone("America/New_York"); DateFormat format = DateFormat.getDateTimeInstance(); format.setTimeZone(zone); System.out.println(format.format(new Date()));
Dengan menggunakan nama zon masa sepenuh, aplikasi boleh menangani masa penjimatan siang dengan berkesan dan memaparkan perwakilan masa yang tepat.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Waktu Penjimatan Siang dengan Tepat di Java Menggunakan Zon Waktu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!