Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Menukar Millisaat kepada Format \'hh:mm:ss\' dalam Java?

Mary-Kate Olsen
Lepaskan: 2024-11-01 19:09:30
asal
246 orang telah melayarinya

How to Convert Milliseconds to

Memformatkan Milisaat kepada "hh:mm:ss"

Masalah:

Seorang pembangun yang bekerja dengan pemasa undur pertemuan kesukaran menukar milisaat kepada format "hh:mm:ss" yang dikehendaki. Percubaan awal mereka mengakibatkan paparan masa yang salah, terutamanya untuk nilai yang melebihi satu jam.

Penyelesaian:

Isu utama berpunca daripada kecacatan logik dalam menukar jam kepada milisaat menggunakan minit dan bukannya jam. Khususnya, kod itu digunakan:

TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
Salin selepas log masuk

sementara ia sepatutnya:

TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
Salin selepas log masuk

Demonstrasi Kod:

Berikut ialah coretan kod yang disemak yang memformat milisaat dengan betul kepada "hh:mm:ss":

String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
    TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
    TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
Salin selepas log masuk

Kes Ujian:

long millis = 3600000;
String hms = ... // Replace with revised code from above

System.out.println(hms); // Expected output: 01:00:00
Salin selepas log masuk

Selain itu, kod boleh dioptimumkan menggunakan pembahagian modulus bukannya penolakan:

String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis),
    TimeUnit.MILLISECONDS.toMinutes(millis) % TimeUnit.HOURS.toMinutes(1),
    TimeUnit.MILLISECONDS.toSeconds(millis) % TimeUnit.MINUTES.toSeconds(1));
Salin selepas log masuk

Kedua-dua variasi mencapai pemformatan "hh:mm:ss" yang betul dan memanfaatkan TimeUnit API untuk mengendalikan penukaran dengan lancar.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Millisaat kepada Format \'hh:mm:ss\' dalam Java?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!