Я пытаюсь преобразовать дату и время, полученные из пользовательского интерфейса, в эпоху.
Пожалуйста, найдите мой код ниже.
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.info("someDate : ",someDate) //getting error like Invalid Date
someDate1 = someDate.getTime();
console.info("someDate : ",someDate1) //getting error like someDate1 is not defined
return someDate1 ;
}
Может ли кто-нибудь помочь мне с рабочим кодом.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Добавьте " " вместо "" в 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.info("someDate : ",someDate) //getting error like Invalid Date
someDate1 = someDate.getTime();
console.info("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.info("someDate : ",someDate) //getting error like Invalid Date
someDate1 = someDate.getTime();
console.info("someDate : ",someDate1) //getting error like someDate1 is not defined
return someDate1 ;
}
надеюсь это поможет
Ваши первые 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.info("someDate : ", someDate) //getting error like Invalid Date
someDate1 = someDate.getTime();
console.info("someDate : ", someDate1) //getting error like someDate1 is not defined
return someDate1;
}
calculateEpoch();Вот способ сделать это, когда подключение к пользовательскому интерфейсу и параметры построения 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