Ion*_*zău 5 html javascript google-chrome date
我正在使用日期输入类型从HTML表单显示/获取日期:
<input type="date">
Run Code Online (Sandbox Code Playgroud)
要通过JavaScript设置日期,我需要:
myInput.valueAsDate = new Date();
Run Code Online (Sandbox Code Playgroud)
这很好。但是,如果要设置另一个日期对象,例如:
myInput.valueAsDate = new Date(1995, 0, 1);
Run Code Online (Sandbox Code Playgroud)
它显示12/31/1994–这是1995年除夕前一天的准确记录。如果我添加24的时间参数,日期显示正确,但日期对象本身显然是2 次 1995年1月的,这不是一个很好的解决这个问题。
<input type="date">
Run Code Online (Sandbox Code Playgroud)
myInput.valueAsDate = new Date();
Run Code Online (Sandbox Code Playgroud)
我在控制台中得到这个:
Sun Jan 01 1995 00:00:00 GMT+0200 (EET)
Sat Dec 31 1994 02:00:00 GMT+0200 (EET)
Run Code Online (Sandbox Code Playgroud)
这是浏览器问题吗?有什么解决方法/解决方案?
最后,我不希望使用任何插件来显示/获取时间,但我想用natative日期input 元素(至少,这个问题是关于它:-))。
我在Chromium和Chrome中复制了此内容。火狐好像不支持日期类型输入还。
这是时区差异读这个。
显然,在使用时new Date()您使用当前时区并valueAsDate采用格林威治标准时间dateTime
把你的代码改成这样
console.log(myInput.valueAsDate = new Date(1995, 0, 1,12));
Run Code Online (Sandbox Code Playgroud)
应该管用
更新 1
console.log(myInput.valueAsDate = new Date(Date.UTC(1995, 0, 1));
Run Code Online (Sandbox Code Playgroud)
应该适用于所有时区。
| 归档时间: |
|
| 查看次数: |
1461 次 |
| 最近记录: |