Javascript:用另一个固定时间减去时间

时间:2015-03-04 03:55:24

标签: javascript datetime time

考虑我有24小时格式的日期和时间。 示例

2015/04/02 12:00
2015/03/02 14:00

我必须用9 hours减去上述时间,以便我得到

2015/04/02 -> 3 (hours)
2015/03/02 -> 5 (hours)

HTML

<form name="formName" onsubmit="return checkDate(this)">
        <input type="text"  value="" name="date1" />
        <input type="text" value="" name="date2"/>
        <input type="submit" value="Submit">    
</form>
<p id="demo"></p>

的Javascript

function checkDate(theForm)
{
    var a = theForm.date1.value;
    var b = theForm.date2.value;

    var date1 = new Date(a);
    var date2 = new Date(b);

    var dateStart = new Date();
    var dateEnd = new Date();

    dateStart.setHours(9);

    Start_sec =  (date1/ 1000.0) - (dateStart/ 1000.0);
    Start_hours = parseInt(Start_sec / 60 / 60);

    document.getElementById("demo").innerHTML =  Start_hours ;
    return false;
}

4 个答案:

答案 0 :(得分:0)

如果可以使用第三方库,那么只需使用moment.js即可完成此任务。在一行中,您可以使用以下代码完成任务:

moment('2015/04/02 12:00').subtract('hours',9).format('YYYY/MM/DD hh:mm')

//just a number plus the word 'hours'
.format('h [hours]')

//time only
.format('h:mm')

有时我会通过更多示例来更新这个小提琴:http://jsfiddle.net/JamesWClark/9PAFg/

答案 1 :(得分:0)

请尝试以下代码。

function checkDate(theForm)
{
    var a = theForm.date1.value;
    var b = theForm.date2.value;

    var date1 = new Date(a);
    var date2 = new Date(b);

    date1.setHours(date1.getHours() - 9);
    date2.setHours(date2.getHours() - 9);

    document.getElementById("demo").innerHTML =  "Date 1 : " + date1.toString() + "<br/>Date 2 : " + date2.toString();
    return false;
}

答案 2 :(得分:0)

你可以直接减去9小时......:

var t = new Date(2015,2,3,18);
t.setTime(t - 9*60*60*1000);          //subtract 9 hours

答案 3 :(得分:0)

var date = new Date("2015/04/02 12:00");
var out = new Date(date.getTime() - 32400000); //9*60*60*1000