Если вы хотите разрешить пользователю вводить некоторую дату + время в локальном формате и получать для него метку времени UNIX, вы можете использовать Date.parse()
, просто он возвращает миллисекунды, пока вам нужны секунды, поэтому разделите результат на 1000. (Базовая дата + время одинаковы для обоих, 1970 г. 1 января. 00:00:00 UTC)
function doConvert(event){
unix.textContent=Math.round(Date.parse(event.target.value)/1000);
}
<input type="datetime-local" onchange="doConvert(event)"><br>
<div id="unix"></div>
Если вы имеете в виду обратное (время чтения в UNIX), используйте Date()
(не забудьте преобразовать секунды в миллисекунды) и toLocaleString()
:
function doConvert(event){
time.textContent=new Date(event.target.valueAsNumber*1000).toLocaleString();
}
<input type="number" oninput="doConvert(event)"><br>
<div id="time"></div>