鑑於「3:00 AM」或「7:00 PM」,有沒有內置功能(如日期)我轉換成毫秒?凌晨3點將是3小時(毫秒),而下午7點是19小時(毫秒)。如何使用javascript將人類可讀的小時數轉換爲毫秒數?
回答
我不認爲有任何內置的功能,但它不會很複雜,實現你想要的。
https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date
首先,創建一個與0日期經過的毫秒:
var d = new Date(0);
解析你的時間線,並設置相應的日期時間:
var t = timeString.match(/(\d{1,2}):(\d{2}) ([AP]M)/),
h = parseInt(t[1], 10),
isAm = t[3] === 'AM',
isMidnight = h === 12 && isAm,
isNoon = h === 12 && !isAm;
d.setUTCHours(isMidnight? 0 : h + (isAm || isNoon? 0 : 12), parseInt(t[2], 10));
使用getTime
功能得到毫秒:
console.log(d.getTime()); //10800000
這裏有一個可重複使用的功能:
function getTimeMilliseconds(timeString) {
var t = timeString.match(/(\d{1,2}):(\d{2}) ([AP]M)/),
h = parseInt(t[1], 10),
isAm = t[3] === 'AM',
isMidnight = h === 12 && isAm,
isNoon = h === 12 && !isAm;
return new Date(0).setUTCHours(isMidnight? 0 : h + (isAm || isNoon? 0 : 12), parseInt(t[2], 10));
}
getTimeMilliseconds('3:00 AM');
注意,你並不真正需要的Date
對象來實現這一點,但我使用它,因爲它爲你的數學,但你總是可以做hours * 3600000 + minutes * 60000
。
function getTimeMilliseconds(timeString) {
var t = timeString.match(/(\d{1,2}):(\d{2}) ([AP]M)/),
h = parseInt(t[1], 10),
isAm = t[3] === 'AM',
isMidnight = h === 12 && isAm,
isNoon = h === 12 && !isAm;
return (isMidnight? 0 : h + (isAm || isNoon? 0 : 12)) * 3600000 + parseInt(t[2], 10) * 60000;
}
不適用於'12:00 PM'(應該是12小時,但將被計爲24.) – 2013-05-08 18:09:34
這裏是一個小提琴演示:http://jsfiddle.net/qs3XZ/ – 2013-05-08 18:16:23
@ColinDeClue,謝謝你反饋,我修正了它。 – plalx 2013-05-08 22:26:11
- 1. 將時間從毫秒轉換爲人類可讀的日期
- 2. 將毫秒UTC轉換爲人類可讀Date_Time
- 3. 從Python中的時代將人類可讀時間戳轉換爲毫秒
- 4. 如何將毫秒數轉換爲DateTime?
- 5. 如何將毫秒數轉換爲
- 6. 如何將毫秒轉換爲小時和天數?
- 7. 使用PHP將毫秒數轉換爲javascript時間戳
- 8. 轉換毫秒到人類可讀的時間流逝
- 9. 將ntp小時轉換爲毫秒
- 10. 將毫秒轉換爲小時格式
- 11. 如何在SQL中將秒數轉換爲人類可讀的持續時間?
- 12. 將時間轉換爲秒+毫秒秒
- 13. 如何在JavaScript中將時間毫秒轉換爲小時,分鐘,秒格式?
- 14. 如何將毫秒,秒,分鐘,小時轉換爲SQL Server 2005中的天數?
- 15. 如何將毫秒數轉換爲iso格式的javascript?
- 16. 如何在毫秒中將時間戳轉換爲毫秒
- 17. 將毫秒轉換爲毫秒
- 18. 負轉換成毫秒人類可讀的格式在PHP
- 19. 如何將時間轉換爲R中的總毫秒數?
- 20. 將微秒轉換爲人類可讀時間
- 21. 將毫秒數值轉換爲日期?
- 22. 如何將日期轉換爲1970年以來使用Javascript的毫秒數?
- 23. PHP將毫秒數轉換爲特定毫秒失敗(1425318722000)
- 24. 如何將24小時轉換爲毫秒?
- 25. 使用jquery將字符串從毫秒數轉換爲可讀日期
- 26. MySQL的轉換傳統小數毫秒
- 27. Javascript以毫秒爲單位顯示毫秒數:小時:無秒數分鐘
- 28. 將毫秒轉換爲天,小時,分和秒
- 29. 將毫秒轉換爲小時,分鐘和秒python
- 30. 將毫秒轉換爲小時,分和秒
我可能是錯的,但是這是不包括在: http://stackoverflow.com/questions/10944396/how-to-calculate-ms-since-midnight-in-javascript – 2013-05-08 00:34:55
@BrianLangbecker,不完全一樣,因爲當前的問題涉及解析時間字符串。它還會嘗試計算特定時間過去的毫秒數,而不是自午夜以來流逝的當前時間。 – plalx 2013-05-08 02:33:44