我需要把时间戳转换成人类可读的格式。我希望生成的人类可读的格式是用户的位置(而不是我部署代码的计算机)。
我现在有这样的情况:
let d = 1662835646;
new Date(d * 1000).toLocaleString()这给了我这个:
9/10/2022, 2:47:26 PM这对我的时区(EST)是正确的,但我没有办法测试其他时区。
基本上,我要问的是,上面的代码是否能工作到用户可能在世界其他地方的地方,它将显示与他们的位置相关的正确日期。
发布于 2022-09-11 20:00:50
基本上,我要问的是,上面的代码是否能工作到用户可能在世界其他地方的地方,它将显示与他们的位置相关的正确日期。
是的,默认情况下,默认的区域设置和时区是代码执行的位置,而不是它所在的位置。这至少对于基于浏览器的JavaScript是正确的,这意味着它将是用户的。对于基于服务器的JavaScript (Node.js等),它将是服务器的,因为这就是执行代码的内容。
..。我没有办法对其他时区进行测试。
是的你知道。您可以更改计算机的时区和语言环境设置,并重新启动浏览器。
或者,如果您使用的是基于铬的浏览器,如Google或Microsoft,您可以在开发工具中的传感器区域中使用更改位置。每个位置都可以为地区和时区定制。

发布于 2022-09-10 19:23:12
函数toLocaleString可以采用两个参数:locale& options
您可以将地区设置为特定的地区,并且使用options参数,您可以设置时区和许多其他选项来格式化日期。
检查以下链接以查看所有可用的选项
https://stackoverflow.com/questions/73674459
复制相似问题