2014-09-10 39 views
0

想在javascript中添加時間。在一起添加2次JavaScript

我從來沒有寫過任何JavaScript,因此我正在努力尋找進步。

我得添加說4:00(4小時)到12:44(當前時間)這是可能的JavaScript內?

如果是這樣,我怎麼會去嗎?答案應該報到16:44

感謝

+4

是不是這是一個基本的數學嗎? – Teemu 2014-09-10 11:47:36

+0

我需要它使用當前時間。我在jsfiddle.net/中嘗試了一些東西,但是我沒有做任何事情 – JoeM 2014-09-10 11:48:32

+0

如果當前時間是「12:44」,並且您爲其添加13個小時,您希望得到的答案是什麼? – tuomassalo 2014-09-10 11:49:23

回答

5

看看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> 

+0

+1來自我,雖然你正在處理的直接問題不是太難處理。一般來說,時間和日期在JavaScript中是非常棘手的。如果這是一個學習練習,那麼一定要親手創建代碼。但如果它是生產代碼,我只需使用日期時間庫。 momentjs是偉大的或http://www.datejs.com/作爲替代。 – 2014-09-10 12:24:34

4

如果你把它分解成幾個小助手功能,這不是太辛苦:

// 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 
+0

t0和t1從哪裏來? – JoeM 2014-09-10 12:59:20

+1

他們是在通話中傳遞的時間,請參閱示例。 – RobG 2014-09-10 22:56:51