首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getTimezoneOffset()是否包含日照节约信息,以及如何获得这两个值?

getTimezoneOffset()是否包含日照节约信息,以及如何获得这两个值?
EN

Stack Overflow用户
提问于 2018-11-18 19:38:04
回答 1查看 1.2K关注 0票数 1

存储在GMT+0服务器中的日期,无需日照保存。

客户端应该以自己的时区格式接收它。因此,我们可以得到时区偏移量,并用收到的日期对其进行汇总:

代码语言:javascript
复制
const currentTime = new Date();
this.timezoneOffset = currentTime.getTimezoneOffset();

然后,我们可以以某种方式检查DLS区域中的客户端,例如使用momentjs:

代码语言:javascript
复制
 const isDaylightSavingTime = moment().isDST();

在这里,我找不出三件事: 1) getTimezoneOffset()是否已经包含了日照节约信息2),如果没有,还有什么更好的方法来检查DST的用户(因为我在它自己的基础上没有一些国家和城市) 3)矩().add(矩().utcOffset(),'m')返回日期吗?

EN

回答 1

Stack Overflow用户

发布于 2018-11-18 23:43:40

在这里,我找不到三件事: 1) getTimezoneOffset()是否已经包含了日照节约信息?

矩是ECMAScript日期对象的包装器。内置日期实例的时区偏移量基于主机系统设置。根据实现的不同,它可能反映或不反映对相关日期(即调用方法的日期)的时区的历史性更改。它至少会反映当前的设置。

( 2)如果不是,在DST中检查用户更好的方法是“那一刻”(因为我在它自己的基础上没有一些国家和城市)

你需要定义“更好”。除了其他库(例如https://moment.github.io/luxon/)之外,还有时间bhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString之类的web API和timeZone选项,它们使用"Asia/Shanghai“之类的IANA位置名称。如果您愿意,也可以下载和使用IANA时区数据库。

( 3)矩().add(矩().utcOffset(),'m')返回日期是否有节能型日?

您不能修改时区偏移量,只有一个getter,因此任何“本地”日期都将应用时区偏移量,无论是特定日期和位置的标准偏移量还是夏令偏移量。上面所做的就是通过偏移量移动时间,它不会改变时区(除非它跨越夏时制边界)。

Date对象在本质上是UTC,所以一般的方法是对所有东西使用UTC,并且只考虑时区偏移以表示。这并不能涵盖所有的场景,但大多数情况都是如此。其余的案例需要基于用例的具体方法。

如果你描述你想做的事情,你可能会得到更多相关的答案。

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

https://stackoverflow.com/questions/53364735

复制
相关文章

相似问题

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