尝试将其设置为输入

时间:2018-03-26 01:11:11

标签: javascript html

我尝试使用以下代码将日期设置为我的日期选择器。



document.getElementById('selFecha').valueAsDate = new Date();

<input type='date' id='selFecha'>
&#13;
&#13;
&#13;

但它给了我明天的日期。我说我的电脑的本地日期并没有错,因为我向控制台发送了new Date()并给了我当前的日期。

我解决了以下问题:

var fecha = new Date;
var d = fecha.getDate();
var m = fecha.getMonth()+1;
var y = fecha.getFullYear();
if(d<10){
    d='0'+d;
}
if(m<10){
    m='0'+m;
}
var hoy = y+"-"+m+"-"+d;
document.getElementById('selFecha').value = hoy;

但我不喜欢它。第一个代码可能会发生什么?

我的时区是-6。我在Chrome和Firefox中测试过。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

嗯,现在这个有效。感谢ecg8向我发布了一个博客,并对其进行了解释。

&#13;
&#13;
var f = new Date();
document.getElementById('selFecha').valueAsDate = new Date(f.getFullYear(), f.getMonth(), f.getDate(), 12);
&#13;
<input type='date' id='selFecha'>
&#13;
&#13;
&#13;

HTML中的输入日期无法读取时区,因此您必须先将当前日期作为参数发送给new Date(),然后再运行其他new Date()

12是指定一天中的一小时(为了避免出现时区问题)。