首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >javascript luxon gmt区域设置时间

javascript luxon gmt区域设置时间
EN

Stack Overflow用户
提问于 2018-10-18 02:44:45
回答 2查看 2.7K关注 0票数 3

我在格林威治时间区域的数据库里有个时间戳。如何根据用户时区显示时间?目前我得到的时间是这样的

代码语言:javascript
复制
return luxon.DateTime.fromSQL(created_at).setZone('local');

它以gtm为单位返回时间。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-20 05:51:28

一种更简洁的处理方法是告诉解析器时间是用GMT表示的:

代码语言:javascript
复制
DateTime.fromSQL(current_time, {zone: "utc"}).toLocal()

为了更好地解释这一点,在你的原版中发生的事情是,时间字符串应该被解释为GMT时间,但卢克森并不知道这一点。因此,它将字符串解释为本地时间,这与您所说的偏移量所指的时间不一致。但如果卢克森知道“这是用GMT表示的”,那么它将在第一时间得到正确的时间。

票数 9
EN

Stack Overflow用户

发布于 2018-10-18 13:09:45

使用此方法解决的问题:

代码语言:javascript
复制
let offset = - (new Date().getTimezoneOffset() / 60);
return luxon.DateTime.fromSQL(created_at).plus({hours: offset}).toLocaleString(luxon.DateTime.TIME_SIMPLE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52861651

复制
相关文章

相似问题

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