Как преобразовать данную дату и время в эпохальное время в javascript? - PullRequest
1 голос
/ 16 апреля 2019

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

Пожалуйста, найдите мой код ниже.

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 голосов
/ 20 апреля 2019

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

Обратите внимание, что параметр месяца этого конструктора Date начинается с нуля (январь равен 0, декабрь равен 11): https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Syntax

0 голосов
/ 16 апреля 2019
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 ;
}

надеюсь, это поможет

0 голосов
/ 16 апреля 2019

Ваши первые 2 строки date и time получены от пользовательского интерфейса, поэтому я полагаю, что это не проблема.(Они должны быть строковыми)

Проблема с date1.

У вас есть: 11/1/201911:00 Неверно

Должно быть: 11/1/2019 11:00

Вы были почти там, но вам нужно было только добавить пробел между date и time.

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();
0 голосов
/ 16 апреля 2019

Добавить " " вместо "" в 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 ;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...