


Mengapa kod Java saya menunjukkan masa yang salah apabila menukar kepada zon waktu tertentu dan bagaimana saya boleh membetulkannya?
Penukaran Tarikh dan Masa kepada Zon Waktu Tertentu di Jawa
Dalam percubaan untuk menukar tarikh dan masa sistem semasa kepada zon waktu tertentu, anda mengalami percanggahan antara output yang dijangkakan dan masa sebenar dalam zon waktu yang dikehendaki. Untuk menangani isu ini, kami akan menyelidiki kod yang anda berikan dan mengenal pasti kemungkinan punca perbezaan masa.
Kod menggunakan kelas Kalendar dan SimpleDateFormat untuk mengendalikan operasi tarikh dan masa. Anda menetapkan masa semasa untuk mengemas kini dan memformatkannya sebagai rentetan menggunakan objek pemformat. Kemudian, anda mencipta objek Zon Waktu untuk zon waktu sasaran (CST dalam kes anda) dan menetapkannya sebagai zon waktu untuk pemformat. Akhir sekali, anda menghuraikan rentetan tarikh yang diformatkan untuk mendapatkan tarikh yang terhasil dalam zon waktu yang ditentukan.
Percanggahan timbul kerana pemformat memformat tarikh dalam zon waktu setempat sebelum menukarkannya kepada zon waktu sasaran. Untuk mengambil kira perkara ini, anda mesti melaraskan masa secara eksplisit dengan menambah atau menolak perbezaan offset antara zon waktu tempatan dan zon waktu sasaran.
Berikut ialah coretan kod dikemas kini yang sepatutnya memberikan penukaran masa yang betul:
<code class="java">// Create a calendar and set it to the local timezone Calendar calendar = Calendar.getInstance(); TimeZone fromTimeZone = calendar.getTimeZone(); // Create a calendar for the target timezone TimeZone toTimeZone = TimeZone.getTimeZone("CST"); // Convert the current time to the local timezone calendar.setTimeZone(fromTimeZone); calendar.add(Calendar.MILLISECOND, fromTimeZone.getRawOffset() * -1); if (fromTimeZone.inDaylightTime(calendar.getTime())) { calendar.add(Calendar.MILLISECOND, calendar.getTimeZone().getDSTSavings() * -1); } // Convert the time to the target timezone calendar.add(Calendar.MILLISECOND, toTimeZone.getRawOffset()); if (toTimeZone.inDaylightTime(calendar.getTime())) { calendar.add(Calendar.MILLISECOND, toTimeZone.getDSTSavings()); } // Get the final date and time in the target timezone Date theResult = calendar.getTime(); System.out.println("The current time in India is :: " + currentdate.getTime()); System.out.println("The date and time in :: " + toTimeZone.getDisplayName() + " is ::" + theResult);</code>
Dengan melaraskan masa mengikut offset zon waktu, anda kini harus mendapatkan tarikh dan masa yang betul dalam zon waktu yang ditentukan.
Atas ialah kandungan terperinci Mengapa kod Java saya menunjukkan masa yang salah apabila menukar kepada zon waktu tertentu dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Penyelesaian masalah dan penyelesaian kepada perisian keselamatan syarikat yang menyebabkan beberapa aplikasi tidak berfungsi dengan baik. Banyak syarikat akan menggunakan perisian keselamatan untuk memastikan keselamatan rangkaian dalaman. …

Penyelesaian untuk menukar nama kepada nombor untuk melaksanakan penyortiran dalam banyak senario aplikasi, pengguna mungkin perlu menyusun kumpulan, terutama dalam satu ...

Pemprosesan pemetaan medan dalam dok sistem sering menemui masalah yang sukar ketika melaksanakan sistem dok: bagaimana untuk memetakan medan antara muka sistem dengan berkesan ...

Mula musim bunga menggunakan versi IntelliJideaultimate ...

Apabila menggunakan Mybatis-Plus atau Rangka Kerja ORM yang lain untuk operasi pangkalan data, sering diperlukan untuk membina syarat pertanyaan berdasarkan nama atribut kelas entiti. Sekiranya anda secara manual setiap kali ...

Penukaran objek dan tatasusunan Java: Perbincangan mendalam tentang risiko dan kaedah penukaran jenis cast yang betul Banyak pemula Java akan menemui penukaran objek ke dalam array ...

Penjelasan terperinci mengenai reka bentuk jadual SKU dan SPU di platform e-dagang Artikel ini akan membincangkan isu reka bentuk pangkalan data SKU dan SPU dalam platform e-dagang, terutamanya bagaimana menangani jualan yang ditentukan pengguna ...

Bagaimanakah penyelesaian caching Redis menyedari keperluan senarai kedudukan produk? Semasa proses pembangunan, kita sering perlu menangani keperluan kedudukan, seperti memaparkan ...
