Как я могу установить значение времени для плагина 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();
Другие вопросы по тегам