Подтвердить что ты не робот

Дата установки даты ввода

<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 - попробуйте выполнить хром.

4b9b3361

Ответ 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));