JQuery UI Datepicker не будет принимать метку времени Unix в качестве значения по умолчанию - PullRequest
4 голосов
/ 23 декабря 2010

У меня есть метка времени Unix "1264529457", которая переводится в 26 января 2010 года и хранится внутри элемента ввода с именем "америка".

При инициализации DatePicker пользовательского интерфейса jQuery у меня есть следующий код для установки даты по умолчанию:

defaultDate: $.datepicker.parseDate('@', $("input[name=america]").val()),

Когда я вручную проверяю, что это происходит в Firebug, он говорит: «Чт 15 января 1970 00:00:00 GMT-0500 (восточное стандартное время) {}». Любая идея, что не так (документация для этой функции немного скудна, так что я предполагаю, что что-то пропустил)?

Ответы [ 3 ]

10 голосов
/ 23 декабря 2010

Unix время хранится в секундах, в то время как Javascript использует миллисекунды.Попробуйте сначала умножить свою метку времени Unix на 1000.

1 голос
/ 23 декабря 2010

Бен верен, вам нужно умножить метку времени на 1000, так как Javascript использует миллисекунды. Это должно работать.

defaultDate: $.datepicker.parseDate('@', $("input[name=america]").val()*1000),

0 голосов
/ 23 декабря 2010

Вы можете просто передать это значение конструктору Date() как число, например:

$("#datepicker").datepicker({
    defaultDate: new Date(parseInt($("input[name=america]").val(), 10))
});

Вы можете проверить это здесь .

...