Rumah > Java > javaTutorial > Bagaimana untuk Mengira Perbezaan Tarikh dan Masa dengan Tepat di Jawa?

Bagaimana untuk Mengira Perbezaan Tarikh dan Masa dengan Tepat di Jawa?

Barbara Streisand
Lepaskan: 2024-12-16 03:19:15
asal
660 orang telah melayarinya

How to Accurately Calculate Date and Time Differences in Java?

Mengira Tarikh dan Perbezaan Masa dalam Java

Matlamat coretan kod ini adalah untuk menentukan perbezaan masa antara dua tarikh tertentu, dinyatakan dalam jam, minit dan saat. Walau bagaimanapun, kod yang disediakan nampaknya menghasilkan hasil yang salah. Mari kita periksa isu ini dan berikan penyelesaian yang lebih tepat.

Kod mengira perbezaan masa dengan menolak milisaat yang diwakili oleh dua tarikh (d1 dan d2). Walaupun pendekatan ini secara amnya betul, isu ini timbul dalam pengiraan seterusnya untuk minit dan jam.

Apabila menukar milisaat kepada minit, kod tersebut salah menggunakan / bukannya TimeUnit.MILLISECONDS.toMinutes. Begitu juga, selama berjam-jam, ia menggunakan / bukannya TimeUnit.MILLISECONDS.toHours. Operasi ini akan menghasilkan pengiraan yang salah, yang membawa kepada percanggahan yang diperhatikan dalam output.

Untuk membetulkan isu ini, kami boleh menggunakan kelas java.util.concurrent.TimeUnit, yang menyediakan kaedah yang mudah untuk menukar antara masa yang berbeza unit. Berikut ialah coretan kod yang diperbetulkan:

...
// Calculate time difference in milliseconds
long diff = d2.getTime() - d1.getTime();

// Convert to seconds, minutes, and hours using TimeUnit
long seconds = TimeUnit.MILLISECONDS.toSeconds(diff);
long minutes = TimeUnit.MILLISECONDS.toMinutes(diff);
long hours = TimeUnit.MILLISECONDS.toHours(diff);

System.out.println("Time in seconds: " + seconds + " seconds.");
System.out.println("Time in minutes: " + minutes + " minutes.");
System.out.println("Time in hours: " + hours + " hours.");
...
Salin selepas log masuk

Menggunakan kod yang diperbetulkan ini, kita boleh memperoleh hasil yang dijangkakan:

Time in seconds: 225 seconds.
Time in minutes: 3 minutes.
Time in hours: 0 hours.
Salin selepas log masuk

Dengan menggabungkan penukaran yang betul menggunakan TimeUnit, kod mengira masa dengan tepat perbezaan antara dua tarikh, seperti yang dimaksudkan.

Atas ialah kandungan terperinci Bagaimana untuk Mengira Perbezaan Tarikh dan Masa dengan Tepat di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan