установить дату в поле Тип ввода дата
<input id="datePicker" type="date" />
Я установлю сегодня дату в datepicker input типа в chrome.
$(document).ready( function() {
var now = new Date();
var today = now.getDate() + '/' + (now.getMonth() + 1) + '/' + now.getFullYear();
alert(today);
$('#datePicker').val(today);
});
но это не работает
редактировать этот jsFiddle - пожалуйста, попробуйте в chrome.
8 ответов:
Скрипка Ссылка: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);
document.getElementById("datePicker").valueAsDate = new Date()должны работать.
обновление: я делаю это с
date.toISOString().substr(0, 10). Дает тот же результат, что и принятый ответ и имеет хорошую поддержку.
для меня самый короткий путь решить эту проблему-использовать момент.JS и решить эту проблему всего за 2 линии.
var today = moment().format('YYYY-MM-DD'); $('#datePicker').val(today);
ваш код работал бы, если бы он был в таком формате:
YYYY-MM-DD, это компьютерный стандарт для форматов дат http://en.wikipedia.org/wiki/ISO_8601
Я обычно создаю эти две вспомогательные функции при использовании дата входа:
// 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())
Datetimepicker всегда нуждается во входном формате YYYY-MM-DD, он не заботится о формате отображения вашей модели или о Вашей локальной системе datetime. Но выходной формат datetime picker-это ваш желаемый (ваша локальная система). Есть простой пример в мой пост.
версия Jquery
var currentdate = new Date(); $('#DatePickerInputID').val($.datepicker.formatDate('dd-M-y', currentdate));
Comments