如何在javascript中将给定的日期和时间转换为纪元时间?

时间:2019-04-16 06:08:55

标签: javascript node.js datetime epoch

我正在尝试将从UI获得的日期和时间转换为时代时间。

请在下面找到我的代码。

function calculateEpoch(){ 
    var date = 11/1/2019 //obtained from ui
    var time = 11:00 //obtained from ui
    var date1 = date +"" + time;

    var someDate = new Date(date1);
    console.log("someDate : ",someDate) //getting error like Invalid Date
    someDate1 = someDate.getTime();
    console.log("someDate : ",someDate1) //getting error like someDate1 is not defined
    return someDate1 ;
}

任何人都可以帮助我提供工作代码。

4 个答案:

答案 0 :(得分:0)

" "中添加""而不是var date1 = date +" " + time;

function calculateEpoch(){ 
var date = '11/1/2019' //obtained from ui
    var time = '11:00' //obtained from ui
    var date1 = date +" " + time; // <---add space here

    var someDate = new Date(date1);
    console.log("someDate : ",someDate) //getting error like Invalid Date
    someDate1 = someDate.getTime();
    console.log("someDate : ",someDate1) //getting error like someDate1 is not defined
 return someDate1 ;
}

答案 1 :(得分:-1)

function calculateEpoch(){ 
    var date = '11/1/2019' //obtained from ui
    var time = '11:00' //obtained from ui
    var date1 = `${date} ${time}`; // add a space in between the date and time,
    // your date1 was invalid because it 11/1/2019:11:00

    var someDate = new Date(date1);
    console.log("someDate : ",someDate) //getting error like Invalid Date
    someDate1 = someDate.getTime();
    console.log("someDate : ",someDate1) //getting error like someDate1 is not defined
    return someDate1 ;
}

希望这会有所帮助

答案 2 :(得分:-1)

您的datetime的前两行是从ui获得的,因此我认为这不是问题所在。 (它们应该是字符串)

问题出在date1上。

您有:11/1/201911:00 无效

应为:11/1/2019 11:00

您快到了,但是您只需要在datetime之间添加一个空格即可。

function calculateEpoch(){ 
    var date = '11/1/2019'; //obtained from ui
    var time = '11:00'; //obtained from ui
    var date1 = date + " " + time;

    var someDate = new Date(date1);
    console.log("someDate : ", someDate) //getting error like Invalid Date
    someDate1 = someDate.getTime();
    console.log("someDate : ", someDate1) //getting error like someDate1 is not defined
    return someDate1;
}
calculateEpoch();

答案 3 :(得分:-1)

在与用户界面的连接和Date构造参数明确的情况下,这是一种方法:

function calculateEpoch() {
    var year = new Number(document.getElementById('uiYear').value);
    var month = new Number(document.getElementById('uiMonth').value) - 1;
    var day = new Number(document.getElementById('uiDay').value);
    var hours = new Number(document.getElementById('uiHour').value);
    var minutes = new Number(document.getElementById('uiMinute').value);
    var seconds = new Number(document.getElementById('uiSecond').value);
    var d = new Date(year, month, day, hours, minutes, seconds, 0);
    var millis = d.getTime();
    return millis
}

实际上可以在右侧的https://currentmillis.com处看到该功能(使用不同的名称)及其UI。

请注意,此Date构造函数的month参数从零开始(January为0,December为11):https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Syntax