【发布时间】:2016-01-03 11:48:45
【问题描述】:
我正在使用日期输入类型从 HTML 表单中显示/获取日期:
<input type="date">
通过 JavaScript 设置日期:
myInput.valueAsDate = new Date();
这很好用。但是如果我想设置另一个日期对象,例如:
myInput.valueAsDate = new Date(1995, 0, 1);
它显示12/31/1994——正好是 1995 年除夕前一天。如果我添加24 作为小时参数,日期显示正确,但日期对象本身显然是2nd of January, 1995,这不是一个好的解决方案解决这个问题。
console.log(myInput.valueAsDate = new Date(1995, 0, 1));
console.log(myInput.valueAsDate);
<input type="date" id="myInput">
我在控制台中得到了这个:
Sun Jan 01 1995 00:00:00 GMT+0200 (EET)
Sat Dec 31 1994 02:00:00 GMT+0200 (EET)
这是浏览器问题吗?是否有任何变通方法/解决方案?
最后,我确实不想使用任何插件来显示/获取日期,但我想使用原生日期input 元素(至少,问题是关于它@987654332 @)。
我在 Chromium 和 Chrome 中复制了这个。 Firefox 似乎不支持日期类型输入还。
【问题讨论】:
-
它似乎在 Chrome 上为我工作。我看到 01/01/1995
-
@DrewDahlman 嗯,什么版本?
-
版本 45.0.2454.101
-
哦,好点。托比发布了一个有趣的答案。
-
关于时区的事情真的很有趣。很高兴知道!
标签: javascript html google-chrome date