如何设置随时可用的jQuery插件的时间值?

时间:2013-04-29 22:16:35

标签: javascript jquery jquery-plugins anytime

默认情况下,任何时候jQuery插件都会显示当前日期/时间。当前日期是完美的,但我想将时间设置为午夜/ 00:00:00为一个“DateTimePicker”和当天的最终秒(23:59:59)为第二个。怎么做?

更新

有趣 - 导致以下内容在anytime datetimepicker中显示:

Mon, 29 Apr 2013 07:00:00

(实际上,我看不到最后的零,但我假设它就是这样)。

单击组件(这是jQuery插件组件/控件实例的正确术语吗?),文本将恢复为:

2013-04-29 15:39:33 (current local time).

我认为首先显示的上午7点爵士乐与这里之间的UTC差异有关...格林威治,我猜(我在加利福尼亚州),但它恢复到当前的当地时间(而不是保持在早上7点,我肯定可以调整以适应小时差异)这使得这只是娱乐而不是呼气诱导。

更新2

我尽快给Marcacci一个奖励,但是,这是一个有趣的附录:基于该代码,我能够找到所需的东西,如果我只是想要达到当前的第二个(当页面已加载),而不是当天午夜之前的第二天,通常在未来几个小时:

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;

然而,奇怪的是,当我使用这段代码时,text / anytime DateTimePicker是空白的 - 直到我点击它!然后它就像我期望的那样填充...... ???

另一个(“开始日期”)组件显示其值(当月的第一个午夜):

var d = new Date();
return d.getFullYear() + "-" + ('0' + (d.getMonth() + 1)).slice(-2) + "-" + "01 00:00:00";

......很好。

2 个答案:

答案 0 :(得分:3)

您应该能够在午夜手动将输入值设置为今天,插件将从那里开始。

$('#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 here

答案 1 :(得分:1)

请尝试以下代码:

<强> 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();