javascript - 输入类型=时间显示错误的时区
问题描述
当使用<input type="time">
和设置valueAsDate
浏览器的时间时,会显示 GMT 时间而不是本地时间,有没有办法改变这种行为?我希望浏览器显示当地时间。
如果您不是 GMT 时间,那么您应该看到输入中的小时与p
元素中的不同
(我在 Chrome 和 Firefox 中试过这个)
let date = new Date;
document.querySelector("input").valueAsDate = date;
document.querySelector("p").innerText = date;
<input type="time">
<p></p>
解决方案
.toLocaleString
可以在这里帮忙:
let date = new Date;
document.querySelector("input").value = date.toLocaleString("sv-SE", {
hour: "2-digit",
minute: "2-digit",
second: "2-digit"
});
document.querySelector("p").innerText = date;
<input type="time">
<p></p>
我在 dev.to 上写了一篇关于这个问题的小文章。
推荐阅读
- mysql - 阿拉伯语单词更改为???? 插入Mysql DB后
- sql - 为表 B 中的每一行选择表 A 中的每一行
- c# - 在 SQL Server 2016 中加密列时如何查询数据
- python - Python:使用“for _ in sys.stdin”从标准输入读取需要两个 Ctrl+D 退出?
- javascript - Axios 通用 Post 在 TypeScript 中返回错误类型
- java - 设置适配器上的空对象引用
- http - ActivePDF Rest API 与 Coldfusion 一起使用
- sql - 获取一个表的所有行,并匹配另一个表中可能不存在 SQL 条目的行
- javascript - 通过单选按钮将值插入 Firebase
- c# - 如何在避免索引超出范围的同时重新分配数组中的值