我有一些包含2个对象的HTML文件:
<input type='date' id = 'datepicker1'>
<input type='time' id = 'timepicker1'>
我使用.valueAsDate
属性将日期和时间设置为当前属性:
document.getElementById("datepicker1").valueAsDate = new Date();
document.getElementById("timepicker1").valueAsDate = new Date();
虽然日期选择器完美地显示了今天的日期(2016年3月16日),但时间选择器会显示2小时前的时间(与计算机时间相比)。 例如,如果我在 18:26:32 中加载HTML页面,则时间选择器将显示 16:26:32 。
当我使用Date.now()
而不是new Date()
知道怎么解决吗?
编辑:
以下是解决方案,效果惊人 (感谢@ LGSon's): (来自此处的链接:Javascript Date() give wrong date off by one hour):
var d = new Date();
document.getElementById("datepicker1").valueAsDate = d.getTime() - d.getTimezoneOffset() * 60 * 1000;