strftime.js ( strftime github ) en iyi zaman formatlama kütüphanelerinden biridir. Son derece hafif - 30KB - ve etkilidir. Bunu kullanarak, çoğunlukla yerel Date sınıfına dayanarak, bir kod satırında saniyeleri kolayca zamana dönüştürebilirsiniz.
Yeni bir Tarih oluştururken, isteğe bağlı her bağımsız değişken aşağıdaki gibi konumlandırılır:
new Date(year, month, day, hours, minutes, seconds, milliseconds);
Dolayısıyla, tüm bağımsız değişkenleri saniyeye kadar sıfır olarak yeni bir Tarih başlatırsanız, şunları elde edersiniz:
var seconds = 150;
var date = new Date(0,0,0,0,0,seconds);
=> Sun Dec 31 1899 00:02:30 GMT-0500 (EST)
Oluşturulan tarihte görüldüğü gibi 150 saniyenin 2 dakika 30 saniye olduğunu görebilirsiniz. Sonra bir strftime formatı ("MM: SS" için "% M:% S") kullanarak dakika dizenizi çıkarır.
var mm_ss_str = strftime("%M:%S", date);
=> "02:30"
Bir satırda şöyle görünecektir:
var mm_ss_str = strftime('%M:%S', new Date(0,0,0,0,0,seconds));
=> "02:30"
Ayrıca bu, saniye sayısına bağlı olarak HH: MM: SS ve MM: SS'nin değiştirilebilir desteğini kullanmanıza olanak tanır. Örneğin:
# 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"
Ve elbette, zaman dizesinin az çok semantik olmasını istiyorsanız, strftime yapmak istediğiniz herhangi bir formatı geçebilirsiniz.
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!"
Bu yardımcı olur umarım.