strftime.js ( strftime github ) adalah salah satu pustaka pemformatan waktu terbaik. Ini sangat ringan - 30KB - dan efektif. Dengan menggunakannya, Anda dapat mengkonversi detik menjadi waktu dengan mudah dalam satu baris kode, sebagian besar mengandalkan kelas Date asli.
Saat membuat Tanggal baru, setiap argumen opsional ditempatkan sebagai berikut:
new Date(year, month, day, hours, minutes, seconds, milliseconds);
Jadi, jika Anda menginisialisasi Tanggal baru dengan semua argumen sebagai nol hingga detik, Anda akan mendapatkan:
var seconds = 150;
var date = new Date(0,0,0,0,0,seconds);
=> Sun Dec 31 1899 00:02:30 GMT-0500 (EST)
Anda dapat melihat bahwa 150 detik adalah 2 menit dan 30 detik, seperti yang terlihat pada tanggal dibuat. Kemudian menggunakan format strftime ("% M:% S" untuk "MM: SS"), itu akan menampilkan string menit Anda.
var mm_ss_str = strftime("%M:%S", date);
=> "02:30"
Dalam satu baris, itu akan terlihat seperti:
var mm_ss_str = strftime('%M:%S', new Date(0,0,0,0,0,seconds));
=> "02:30"
Plus ini akan memungkinkan Anda untuk saling mendukung HH: MM: SS dan MM: SS berdasarkan jumlah detik. Sebagai contoh:
# Less than an Hour (seconds < 3600)
var seconds = 2435;
strftime((seconds >= 3600 ? '%H:%M:%S' : '%M:%S'), new Date(0,0,0,0,0,seconds));
=> "40:35"
# More than an Hour (seconds >= 3600)
var seconds = 10050;
strftime((seconds >= 3600 ? '%H:%M:%S' : '%M:%S'), new Date(0,0,0,0,0,seconds));
=> "02:47:30"
Dan tentu saja, Anda dapat dengan mudah melewatkan format apa pun yang ingin Anda habiskan jika Anda ingin string waktu menjadi lebih atau kurang semantik.
var format = 'Honey, you said you\'d be read in %S seconds %M minutes ago!';
strftime(format, new Date(0,0,0,0,0,1210));
=> "Honey, you said you'd be read in 10 seconds 20 minutes ago!"
Semoga ini membantu.