Как я могу установить значение времени для плагина jQuery anytime?
Плагин jQuery в любое время по умолчанию отображается с текущей датой / временем. Текущая дата идеальна, но я хочу установить время в полночь /00:00:00 для одного "DateTimePicker" и конечную секунду дня (23:59:59) для второго. Как это сделать?
ОБНОВИТЬ
Интересно - это заставляет следующее отображать в любое время datetimepicker:
Mon, 29 Apr 2013 07:00:00
(на самом деле, я не вижу последний ноль, но я предполагаю, что это так).
При щелчке по компоненту (это правильная терминология для компонента / элемента управления плагина jQuery?) Текст возвращается к:
2013-04-29 15:39:33 (current local time).
Я полагаю, что показанный в 7 утра джаз вначале как-то связан с разницей UTC между здесь и... Гринвич, я думаю (я в Калифорнии), но тот факт, что он возвращается к текущему местному времени (вместо того, чтобы оставаться в 7 часов утра, что, я уверен, может быть изменено, чтобы учесть разницу в часах), что делает это только интересным, а не вызывающим выдох.
ОБНОВЛЕНИЕ 2
Я присуждаю награду Marcacci ASAP, но, тем не менее, интересное дополнение ко всему этому: на основе этого кода я смог решить, что нужно, если я просто хочу перейти к текущей секунде (когда страница была загружен), а не до секунды до полуночи текущего дня, что обычно составляет довольно много часов в будущем:
var d = new Date();
var t = new Time();
var s = ('0' + (t.getHour() + 1)).slice(-2) + ":" +
('0' + (t.getMinute() + 1)).slice(-2) + ":" +
('0' + (t.getSecond() + 1)).slice(-2);
return d.getFullYear() + "-" + ('0' + (d.getMonth() + 1)).slice(-2) + "-" + ('0' + d.getDate()).slice(-2) + s;
Однако, как ни странно, текст / в любое время DateTimePicker пуст, когда я использую этот код - пока я не нажму на него! Тогда он заполняется, как я ожидал бы...???
Другой компонент ("Дата начала") отображает свое значение (полночь первого числа месяца):
var d = new Date();
return d.getFullYear() + "-" + ('0' + (d.getMonth() + 1)).slice(-2) + "-" + "01 00:00:00";
...просто хорошо.
2 ответа
Вы должны просто иметь возможность вручную установить значение входа на сегодня в полночь, и плагин подхватит оттуда.
$('#dateInput').val(function(){
var d = new Date();
d.setHours(0,0,0,0);
return d.toUTCString();
});
РЕДАКТИРОВАТЬ Это должно положить его в формате, который вы используете:
$('#dateInput').val(function(){
var d = new Date();
return d.getFullYear() + "-" + (d.getMonth()+1) + "-" + d.getDate() + " 00:00:00";
});
РЕДАКТИРОВАТЬ 2 ОК, так что ОЧЕНЬ упрям в отношении формата, но у меня все получилось:
$('#field1').val(function(){
var d = new Date();
return d.getFullYear() + "-" + ('0' + (d.getMonth()+1)).slice(-2) + "-" + ('0' + d.getDate()).slice(-2) + " 00:00:00";
});
Проверьте jsfiddle здесь.
Попробуйте следующий код:
HTML
<input type="text" id="first" />
<input type="text" id="second" />
JavaScript
// Current date and time
var date = new Date();
// Set time to 00:00:00
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
$("#first").val(date.toUTCString());
// Set time to 23:59:59
date = new Date(date.getTime() + 23*60*60*1000 + 59*60*1000 + 59*1000);
$("#second").val(date.toUTCString());
// Apply plugin
$("#first, #second").AnyTime_picker();