默认情况下,任何时候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点,我肯定可以调整以适应小时差异)这使得这只是娱乐而不是呼气诱导。
我尽快给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";
......很好。
答案 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";
});
答案 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();