javascript - 将 UTC 时间转换为特定时区客户端
问题描述
是否可以使用 JavaScript 将来自服务器的 UTC 日期转换为特定(英国)时区?这是针对用户可能配置了不正确的本地时区的情况。
解决方案
您可以在传递给 的选项中指定时区toLocaleString
,它将使用Date
对象表示的时间点来创建转换为指定时区的本地化字符串。
例如:
new Date("2020-09-17T17:15:00.000Z").toLocaleString('en-GB', { timeZone: 'Europe/London' })
//=> "17/09/2020, 18:15:00"
请注意,第一个参数是格式的语言环境,而不是时区。如果您不想要特定格式,则可以undefined
改为传递 - 这将使用用户的活动区域设置来选择格式。
另请注意,您无法获取Date
位于该时区的对象。该Date
对象仅存储一个时间点(作为具有毫秒精度的 Unix 时间戳),并且它始终将计算机的本地时区设置用于需要本地时间转换的功能(如上所示)。
(TC39Temporal
提案正在努力改进这一点。)
推荐阅读
- java - 浮动操作栏菜单出现在每个片段中
- azure-active-directory - 无法在 Azure AD Web App 上的重定向 URI 中设置 HTTP URI
- gstreamer-1.0 - gst-launch-1.0 - rtspsrc 音频/视频问题
- c - 使用关键参数时 main 之前的分段错误
- javascript - 数组的第一个元素是第一个最小值,第二个元素是第一个最大值,依此类推
- linux - 当二进制文件未使用 -g 编译时,如何获得 perf annotate 以显示源代码?
- javascript - Shopify 显示所选变体库存动态
- python - 如何使用 Python 单击 MS Access 上的按钮
- python - 当循环中的键值等于键Python时,在for循环之外访问键的值
- python-3.x - 您如何在 cogs 中定义变量?