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

How to convert a given date and time to epoch time in javascript?

我正在尝试将从 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 ;
}

谁能帮我解决工作代码。

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 ;
}
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 ;
}

希望这对您有所帮助

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

问题出在 date1

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

应该是:11/1/2019 11:00

你快到了,但你只需要在 datetime 之间添加一个 space。

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();

这是一种方法,其中与 UI 的连接和 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构造函数的月份参数是从零开始的(一月是0,十二月是11):https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Syntax