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
Lepaskan: 2024-12-18 14:15:10
asal
657 orang telah melayarinya

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.");
Salin selepas log masuk

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);
Salin selepas log masuk

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