首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算DST?

如何计算DST?
EN

Stack Overflow用户
提问于 2011-12-10 00:26:54
回答 1查看 955关注 0票数 3

我想在他们提供的日期和时间向不同时区的用户发送通知。我还没有实现任何东西,但我计划创建一个时间戳列,并将所有内容存储在UTC中。在提交时,用户将选择一个时区,我将计算偏移量,将其添加到时间戳列,然后瞧。

我希望能这么简单,但我的计划缺少DST。我没有办法知道用户是否在DST中。

我该如何解决这个问题呢?我需要额外的列吗?有没有比我计划的更好的方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-10 00:46:11

您可以使用java TimeZone对象。

代码语言:javascript
复制
<cfset tzObj = createObject("java","java.util.TimeZone") >

您可以获得可用ID的列表,例如“美国/太平洋”通过这样做

代码语言:javascript
复制
<cfset tzList = arrayToList(tzObj.getAvailableIDs()) >

如果您可以将ID与您的用户区域/时区匹配,则可以执行以下操作:

代码语言:javascript
复制
tzToTest = "US/Pacific"
dateTotest = now()

<!--- determines if dateTotest in tzToTest is in DST --->
<cfset tz = tzObj.getTimeZone(tzToTest) />
<cfset isDaylightSavings = tz.inDaylightTime(dateTotest) />
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8448540

复制
相关文章

相似问题

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