首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过在Javascript中记录时区来创建时间

通过在Javascript中记录时区来创建时间
EN

Stack Overflow用户
提问于 2022-04-22 13:03:09
回答 1查看 37关注 0票数 2

假设用户选择时间为早上7: 00作为时间,选择时区为"Africa/Blantyre“。我希望创建一个date对象,以便该值包含"Africa/Blantyre“的7:00 AM,并且当用户将时区更改为”Asia/雅加达“时,为7:00 AM "Africa/Blantyre”捕获的值应该是“Asia/雅加达”时区的值。不应是上午7:00“亚洲/雅加达”,而是“非洲/布兰太尔”的折算价值。

EN

回答 1

Stack Overflow用户

发布于 2022-04-22 13:08:11

您只需将时间存储为UNIX时间戳(自UNIX时代(1970年1月1日)以来的秒数,它独立于时区)并独立存储用户的当前时区。然后,在向用户显示时间之前,您可以将时间从UNIX时间戳转换为他们自己的时区格式,例如使用Date.prototype.toLocaleString()

注意,getTime()从UNIX时代返回毫秒,所以它是UNIX时间戳* 1000。

代码语言:javascript
运行
复制
const d1 = (new Date("2022-04-22 3:00 PM UTC+1")).getTime() // UTC+1 timezone

// store d1

const d2 = (new Date(d1)).toLocaleString('en-US', { timeZone: 'UTC' }) // UTC timezone
console.log(d2)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71969217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档