Saya memiliki dua objek DateTime , yang perlu menemukan durasi perbedaannya ,
Saya memiliki kode berikut tetapi tidak yakin bagaimana melanjutkannya untuk mendapatkan hasil yang diharapkan sebagai berikut:
Contoh
11/03/14 09:30:58
11/03/14 09:33:43
elapsed time is 02 minutes and 45 seconds
-----------------------------------------------------
11/03/14 09:30:58
11/03/15 09:30:58
elapsed time is a day
-----------------------------------------------------
11/03/14 09:30:58
11/03/16 09:30:58
elapsed time is two days
-----------------------------------------------------
11/03/14 09:30:58
11/03/16 09:35:58
elapsed time is two days and 05 mintues
Kode
String dateStart = "11/03/14 09:29:58";
String dateStop = "11/03/14 09:33:43";
Custom date format
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 % 60;
long diffMinutes = diff / (60 * 1000) % 60;
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.");
java
date-arithmetic
J888
sumber
sumber
Jawaban:
coba yang berikut ini
sumber
Konversi perbedaan tanggal dapat ditangani dengan cara yang lebih baik menggunakan kelas bawaan Java , TimeUnit . Ini menyediakan metode utilitas untuk melakukan itu:
sumber
Gunakan perpustakaan Joda-Time
Joda Time memiliki konsep Time Interval:
Satu lagi contoh Perbedaan Tanggal
Satu Tautan lagi
atau dengan Java-8 (yang mengintegrasikan konsep Joda-Time)
sumber
Berikut adalah bagaimana masalah bisa diselesaikan di Java 8 seperti jawaban shamimz.
Sumber: http://docs.oracle.com/javase/tutorial/datetime/iso/period.html
Kode tersebut menghasilkan keluaran yang mirip dengan berikut ini:
Kita harus menggunakan LocalDateTime http://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html untuk mendapatkan perbedaan jam, menit, detik.
sumber
sumber
Anda dapat membuat metode seperti
Metode ini akan mengembalikan jumlah hari antara 2 hari tersebut.
sumber
Seperti yang ditulis Michael Borgwardt dalam jawabannya di sini :
sumber
Di Jawa 8, Anda dapat membuat dari
DateTimeFormatter
,Duration
, danLocalDateTime
. Berikut ini contohnya:sumber
Berhasil bagi saya dapat mencoba dengan ini, semoga bermanfaat. Beri tahu saya jika ada kekhawatiran.
sumber
Ini kodenya:
dan yang keluar adalah:
sumber
dengan mengacu pada pembaruan jawaban shamim di sini adalah metode yang melakukan tugas tanpa menggunakan pustaka pihak ketiga. Cukup salin metode dan gunakan
sumber
Saya memecahkan masalah serupa menggunakan metode sederhana baru-baru ini.
Dan seperti yang diharapkan mencetak:
7 days ago
.sumber
Ini adalah program yang saya tulis, yang mendapatkan jumlah hari antara 2 tanggal (tidak ada waktu di sini).
http://pastebin.com/HRsjTtUf
sumber
Bagaimana menghitung perbedaan antara dua tanggal di Jawa
sumber