Cara Menukar Milisaat kepada Format "hh:mm:ss": Selesai
Menukar milisaat kepada "hh:mm:ss" format boleh menjadi rumit, tetapi API TimeUnit Java menyediakan cara yang mudah untuk berbuat demikian. Selepas terjumpa percubaan yang salah dari urutan lain, mari kita terokai cara yang betul untuk menangani penukaran ini.
Pada mulanya, pendekatan yang salah yang terlibat menggunakan talian:
TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.MINUTES.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
Walau bagaimanapun, pengiraan ini tersilap menukar jam kepada milisaat menggunakan minit dan bukannya jam. Logik yang betul ialah:
TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis))
Berikut ialah coretan kod yang diperbetulkan:
String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), // Corrected line TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
Pengubahsuaian ini memastikan jam ditukar dengan betul menggunakan Unit Masa yang betul.
Tambahan pula , kod boleh dipermudahkan menggunakan pembahagian modulus dan 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));
Kedua-dua pendekatan memanfaatkan TimeUnit API dan menyediakan pemformatan "hh:mm:ss" yang tepat untuk milisaat.
Atas ialah kandungan terperinci Bagaimanakah cara saya Menukar Milidetik kepada Format \"hh:mm:ss\" dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!