2015-11-07 5 views
1

У меня есть этот HTML:значение времени ввода типа в JavaScript

<input required="" id="time" type="time"> 

ЯШ:

var time = $('#time').val(); 
console.log(time); // it outputs e.g. 10:00 
var newTime = time--; // NaN 
var convert = new Date(time); // Invalid Date 

Как работать со значением ввода? Я хочу сравнить его с другим значением ввода или другими основными операциями, такими как уменьшение времени с 1 часом, но я не могу преобразовать его в объект Date.

+0

Это просто строка http://www.w3schools.com/jsref/prop_input_time_value.asp –

+0

'document.querySelector ("# время") .valueAsDate' или '.valueAsNumber' -> [HTMLInputElement] (https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement) – Andreas

+0

Я знаю, но вопрос в том, как его преобразовать на сегодняшний день? edit: thanks – dontHaveName

ответ

1

Попробуйте использовать valueAsDate недвижимость

$("input[type=time]").on("change", function() { 
 
    console.log(this.valueAsDate) 
 
})
<input required="" id="time" type="time"> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

+0

и любым способом, как вернуть его в hh: mm? просто с новой датой (значением)? – dontHaveName

+0

@dontHaveName _ "каким-либо способом вернуть его к hh: mm?" _ Попробуйте 'this.valueAsDate.toJSON(). Slice (-13, -8)'. Также можно использовать 'this.valueAsDate.getHours()', 'this.valueAsDate.getMinutes()' – guest271314

Смежные вопросы