Teman-teman saya baru menggunakan tanggal dan waktu di java. Saya menyimpan tanggal dan waktu dalam String yang merupakan waktu saat ini. Saya juga memiliki satu variabel string lagi yang memiliki waktu posting sekarang. Saya ingin menghitung waktu yang lalu bahkan dalam hitungan detik pada string apa pun yang memiliki tanggal dan waktu dalam format ini yyyy/MM/ dd HH:mm:ss ada yang bisa bantu saya Terima kasih ini kodenya

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");

        LocalDateTime currentTime = LocalDateTime.parse(d_tt, formatter);
        LocalDateTime postTime = LocalDateTime.parse(post_time, formatter);

        long seconds = ChronoUnit.SECONDS.between(postTime, currentTime);//(error here)

Kesalahan "ChronoUnit tidak dapat diselesaikan"

-1
Education 4Fun 6 Juli 2020, 15:24

1 menjawab

Jawaban Terbaik

Untuk kasus ini, sebaiknya gunakan LocalDateTime.

Pertama, Anda harus mengubah dua string menjadi LocalDateTime

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");

LocalDateTime currentTime = LocalDateTime.parse(currentTimeString, formatter); // Or use LocalDateTime.now()
LocalDateTime postTime = LocalDateTime.parse(postTimeString, formatter);

Benda-benda ini kemudian dapat digunakan untuk menentukan waktu di antara mereka. Ada dua kemungkinan untuk melakukan ini. Semuanya memberikan hasil yang sama, yang dapat Anda gunakan untuk menentukan waktu di antara mereka sesuai dengan preferensi Anda sendiri.

Kemungkinan 1:

long seconds = postTime.until(currentTime, ChronoUnit.SECONDS);

Kemungkinan 1:

long seconds = ChronoUnit.SECONDS.between(postTime, currentTime);

Anda juga bisa mendapatkan informasi lebih lanjut di sini:

  1. Pengantar Java 8 Tanggal/Waktu API
  2. Java 8: Perbedaan antara dua LocalDateTime di beberapa unit
1
tgallei 6 Juli 2020, 12:47