Дата установки даты ввода
<input id="datePicker" type="date" />
я установил сегодня дату в datepicker input тип даты в хром.
$(document).ready( function() {
var now = new Date();
var today = now.getDate() + '/' + (now.getMonth() + 1) + '/' + now.getFullYear();
alert(today);
$('#datePicker').val(today);
});
но он не работает
Изменить этот jsFiddle - попробуйте выполнить хром.
Ответы
Ответ 1
Ссылка на скрипт: http://jsfiddle.net/7LXPq/93/
Две проблемы в этом:
- Контроль даты в HTML 5 принимает в формате Год - месяц - день, как мы используем в SQL
- Если месяц равен 9, его нужно просто установить как 09 не 9. Поэтому он применяется и для дневного поля.
Пожалуйста, следуйте ссылке для демонстрации:
var now = new Date();
var day = ("0" + now.getDate()).slice(-2);
var month = ("0" + (now.getMonth() + 1)).slice(-2);
var today = now.getFullYear()+"-"+(month)+"-"+(day) ;
$('#datePicker').val(today);
Ответ 2
document.getElementById("datePicker").valueAsDate = new Date()
должен работать.
Ответ 3
Обновление: я делаю это с date.toISOString().substr(0, 10)
. Получает тот же результат, что и принятый ответ, и имеет хорошую поддержку.
Ответ 4
для меня самый короткий способ решить эту проблему - использовать moment.js и решить эту проблему всего за 2 строки.
var today = moment().format('YYYY-MM-DD');
$('#datePicker').val(today);
Ответ 5
Ваш код сработал бы, если бы он был в этом формате: YYYY-MM-DD
, это стандартный компьютер для форматов даты http://en.wikipedia.org/wiki/ISO_8601
Ответ 6
Я обычно создаю эти две вспомогательные функции при использовании входов даты:
// date is expected to be a date object (e.g., new Date())
const dateToInput = date =>
`${date.getFullYear()
}-${('0' + (date.getMonth() + 1)).slice(-2)
}-${('0' + date.getDate()).slice(-2)
}`;
// str is expected in yyyy-mm-dd format (e.g., "2017-03-14")
const inputToDate = str => new Date(str.split('-'));
Затем вы можете установить входное значение даты как:
$('#datePicker').val(dateToInput(new Date()));
И получить выбранное значение так
const dateVal = inputToDate($('#datePicker').val())
Ответ 7
версия JQuery
var currentdate = new Date();
$('#DatePickerInputID').val($.datepicker.formatDate('dd-M-y', currentdate));