0

随时 jQuery 插件默认显示当前日期/时间。当前日期是完美的,但我想将一个“DateTimePicker”的时间设置为午夜/00:00:00,而将第二个“DateTimePicker”的时间设置为当天的最后一秒(23:59:59)。怎么做?

更新

有趣 - 这会导致在任何时间日期时间选择器中显示以下内容:

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;

然而,奇怪的是,当我使用此代码时,文本/任何时间 DateTimePicker 都是空白的 - 直到我点击它!然后它会像我期望的那样填充......???

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

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

...正好。

4

2 回答 2

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

于 2013-04-29T22:35:46.893 回答
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();
于 2013-04-29T22:52:11.653 回答