2014-09-10 3 views
0

Вы хотите добавить время вместе в javascript.Добавить 2 раза вместе JavaScript

Я никогда не писал ни одного javascript, и поэтому борюсь с тем, чтобы продвигаться вперед.

Должен сказать: 4:00 (4 часа) до 12:44 (Текущее время) Возможно ли это на javascript?

Ответ должен доложить 16:44

Если да, то как бы я идти об этом?

Благодаря

+4

Разве это не основной математике? – Teemu

+0

Мне нужно, чтобы оно использовало текущее время. Я пробовал несколько вещей в jsfiddle.net/, и мне не удалось что-либо сделать – JoeM

+0

Что вы хотите, чтобы ответ был, если текущее время '12: 44', и вы добавили к нему 13 часов? – tuomassalo

ответ

5

Посмотрите на moment.js - прекрасная библиотека для управления всеми видами времени, связанных с функциональностью - momentjs.com

Позже дополнение ответить:

Вы упоминаете ваш новичок с JavaScript так вот простой рабочий пример вашей проблемы, используя moment.js - этот пример предполагает, что файл и moment.js находятся в одной папке. Ознакомьтесь с документами на момент. 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/ как альтернатива. –

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

+1

Это время, пройденное в вызове, см. Примеры. – RobG

Смежные вопросы