想在javascript中添加時間。在一起添加2次JavaScript
我從來沒有寫過任何JavaScript,因此我正在努力尋找進步。
我得添加說4:00
(4小時)到12:44
(當前時間)這是可能的JavaScript內?
如果是這樣,我怎麼會去嗎?答案應該報到16:44
?
感謝
想在javascript中添加時間。在一起添加2次JavaScript
我從來沒有寫過任何JavaScript,因此我正在努力尋找進步。
我得添加說4:00
(4小時)到12:44
(當前時間)這是可能的JavaScript內?
如果是這樣,我怎麼會去嗎?答案應該報到16:44
?
感謝
看看moment.js - 用於管理各種時間有關功能的優秀庫 - momentjs.com
後來除了回答:
你提到你是一個新手JavaScript,所以這裏是使用moment.js的問題的簡單工作示例 - 此示例假定文件和moment.js位於同一個文件夾中。查看關於所有格式選項的moment.js文檔。祝你好運。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Add Time</title>
<script src="moment.js"></script>
</head>
<body>
<script>
//add 4 hours to the stated time
var theFutureTime = moment().hour('12').minute('44').add(4,'hours').format("HH:mm");
console.log(theFutureTime); // prints 16:44
</script>
</body>
+1來自我,雖然你正在處理的直接問題不是太難處理。一般來說,時間和日期在JavaScript中是非常棘手的。如果這是一個學習練習,那麼一定要親手創建代碼。但如果它是生產代碼,我只需使用日期時間庫。 momentjs是偉大的或http://www.datejs.com/作爲替代。 – 2014-09-10 12:24:34
如果你把它分解成幾個小助手功能,這不是太辛苦:
// Convert a time in hh:mm format to minutes
function timeToMins(time) {
var b = time.split(':');
return b[0]*60 + +b[1];
}
// Convert minutes to a time in format hh:mm
// Returned value is in range 00 to 24 hrs
function timeFromMins(mins) {
function z(n){return (n<10? '0':'') + n;}
var h = (mins/60 |0) % 24;
var m = mins % 60;
return z(h) + ':' + z(m);
}
// Add two times in hh:mm format
function addTimes(t0, t1) {
return timeFromMins(timeToMins(t0) + timeToMins(t1));
}
console.log(addTimes('12:13', '01:42')); // 13:55
console.log(addTimes('12:13', '13:42')); // 01:55
console.log(addTimes('02:43', '03:42')); // 06:25
是不是這是一個基本的數學嗎? – Teemu 2014-09-10 11:47:36
我需要它使用當前時間。我在jsfiddle.net/中嘗試了一些東西,但是我沒有做任何事情 – JoeM 2014-09-10 11:48:32
如果當前時間是「12:44」,並且您爲其添加13個小時,您希望得到的答案是什麼? – tuomassalo 2014-09-10 11:49:23