HTML5:来自<input type =“time”/>中“Date()”对象的小时

时间:2016-03-16 16:26:57

标签: javascript html5 date dom input

我有一些包含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;

0 个答案:

没有答案