strftime.js ( github strftime ) เป็นหนึ่งในห้องสมุดรูปแบบเวลาที่ดีที่สุด มันเบามาก - 30KB - และมีประสิทธิภาพ การใช้มันช่วยให้คุณสามารถแปลงวินาทีเป็นเวลาได้อย่างง่ายดายในหนึ่งบรรทัดของโค้ดโดยส่วนใหญ่อาศัยคลาสเนทีฟดั้งเดิม
เมื่อสร้าง Date ใหม่อาร์กิวเมนต์ที่เป็นทางเลือกแต่ละรายการจะเป็นตำแหน่งดังนี้
new Date(year, month, day, hours, minutes, seconds, milliseconds);
ดังนั้นหากคุณเริ่มต้นวันที่ใหม่โดยมีอาร์กิวเมนต์ทั้งหมดเป็นศูนย์จนถึงไม่กี่วินาทีคุณจะได้รับ:
var seconds = 150;
var date = new Date(0,0,0,0,0,seconds);
=> Sun Dec 31 1899 00:02:30 GMT-0500 (EST)
คุณจะเห็นว่า 150 วินาทีคือ 2 นาทีและ 30 วินาทีตามที่เห็นในวันที่สร้าง จากนั้นใช้รูปแบบ strftime ("% M:% S" สำหรับ "MM: SS") มันจะเอาท์พุทสตริงนาทีของคุณ
var mm_ss_str = strftime("%M:%S", date);
=> "02:30"
ในหนึ่งบรรทัดดูเหมือนว่า:
var mm_ss_str = strftime('%M:%S', new Date(0,0,0,0,0,seconds));
=> "02:30"
นอกจากนี้ยังช่วยให้คุณสามารถเปลี่ยนการรองรับ HH: MM: SS และ MM: SS ได้ตามจำนวนวินาที ตัวอย่างเช่น:
# 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"
และแน่นอนคุณสามารถผ่านรูปแบบใดก็ได้ที่คุณต้องการใช้เวลาห้านาทีหากคุณต้องการให้เวลาในสตริงมีความหมายมากขึ้นหรือน้อยลง
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!"
หวังว่านี่จะช่วยได้