Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengira Perbezaan Tarikh dan Masa dengan Cekap di Jawa?

Bagaimanakah Saya Boleh Mengira Perbezaan Tarikh dan Masa dengan Cekap di Jawa?

Patricia Arquette
Patricia Arquetteasal
2024-12-18 14:15:10592semak imbas

How Can I Efficiently Calculate Date and Time Differences in Java?

Mengira Perbezaan Tarikh/Masa di Jawa

Di Jawa, selalunya perlu mengira perbezaan antara dua tarikh atau masa untuk menentukan berlalu tempoh masa. Ini boleh dicapai menggunakan pelbagai teknik, tetapi pendekatan biasa melibatkan memanipulasi milisaat.

Salah satu cara untuk melakukan pengiraan perbezaan tarikh/masa ialah melalui kelas Tarikh. Kelas Date mewakili sesaat tertentu dalam masa, dan ia menyediakan kaedah untuk menukar tarikh kepada dan dari milisaat sejak zaman itu. Untuk mengira perbezaan antara dua tarikh, anda hanya boleh menolak milisaat yang diwakili oleh tarikh awal daripada tarikh kemudian.

Sebagai contoh, mari kita pertimbangkan kod berikut:

String dateStart = "11/03/14 09:29:58";
String dateStop = "11/03/14 09:33:43";

SimpleDateFormat format = new SimpleDateFormat("yy/MM/dd HH:mm:ss");

Date d1 = null;
Date d2 = null;
try {
    d1 = format.parse(dateStart);
    d2 = format.parse(dateStop);
} catch (ParseException e) {
    e.printStackTrace();
}

// Get msec from each, and subtract.
long diff = d2.getTime() - d1.getTime();
long diffSeconds = diff / 1000;
long diffMinutes = diff / (60 * 1000);
long diffHours = diff / (60 * 60 * 1000);

System.out.println("Time in seconds: " + diffSeconds + " seconds.");
System.out.println("Time in minutes: " + diffMinutes + " minutes.");
System.out.println("Time in hours: " + diffHours + " hours.");

Kod ini menunjukkan cara mengira perbezaan antara dua tarikh dalam jam, minit dan saat. Walau bagaimanapun, terdapat masalah dengan kod yang diberikan: pembolehubah diffSeconds dikira secara salah. Cara yang betul untuk mengira bilangan saat adalah melalui milisaat, seperti ditunjukkan di bawah:

long diffSeconds = TimeUnit.MILLISECONDS.toSeconds(diff);

Pengubahsuaian ini memastikan perbezaan masa yang betul dalam saat dikira dan dipaparkan.

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

Kenyataan:
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