Как преобразовать тип ввода ="дата" в метку времени 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>
Другие вопросы по тегам