Как преобразовать тип ввода ="дата" в метку времени javascript-jquery
Мне нужно конвертировать в метку времени, это мой HTML-код:
<input type="date" name="date_end" id="date_end">
Это поле имеет значение, которое я добавил как 25/10/2017 Мой код jquery:
var dataEnd = $('[name="date_end"]').val();
if (!dataEnd) {
return false;
} else {
var timestamp_end=$('[name="date_start"]').val().getTime();
console.log("TIMESTAMP END "+timestamp_end);
.....
}
Но это не работа, кто-нибудь может мне помочь?
5 ответов
Сделать новый Date()
передавая значение вашего ввода в качестве параметра, затем вызвать getTime()
, вот пример:
$('[name="date_end"]').on('change',function() {
var dataEnd = $(this).val();
console.log((new Date(dataEnd)).getTime());
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" name="date_end" id="date_end">
Сделай это
var dateEnd = $('#date_end').val()
var var timestamp_end = Date.parse(date_end)
или в одну строку
var timestamp_end = Date.parse($('#date_end').val())
это работает и чисто
Вот решение (с использованием чистого js), я использовал унарный оператор плюс после преобразования значения в объект даты в javascript.
function checkDateValue(){
var dateConvertedToTimestamp = (+new Date(document.getElementById('date_value').value));
document.getElementById('date_value_timestamp').innerHTML = dateConvertedToTimestamp ;
}
<input type='date' id='date_value'>
<button onClick='checkDateValue()'> Submit </button>
<div>Timestamp:- <span id='date_value_timestamp'></span></div>
Мне нужна была временная метка UNIX и обновленный ответ Парта Роя для моих нужд.
Javascript:
document.getElementById('dateInput').addEventListener('change', function (){
let inputDate = document.getElementById('dateInput').value ;
let dateConvertedToTimestamp = new Date(inputDate).getTime() ;
console.log(dateConvertedToTimestamp) ;
document.getElementById('resultTime').value = dateConvertedToTimestamp / 1000 ;
}) ;
Преобразование деления / 1000 в метку времени UNIX + Я отслеживаю все изменения ввода, а не только при отправке формы.
HTML:
<input type='date' id='dateInput'>
<input type='hidden' id='resultTime' name='dateTimestamp'>
Не забывайте, что ввод даты все еще плохо поддерживается, поэтому мы можем легко адаптировать этот код с классическим вводом чисел.
Вы можете использовать следующий код
<script type="text/javascript">
var d = new Date(parseInt($('[name="date_start"]').val()));
var n = d.getTime();
console.log(n);
</script>