coldfusion - 如何计算夏令时?

标签 coldfusion timezone dst

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

我希望事情就是这么简单,但我的计划缺少夏令时。我无法确定用户是否处于夏令时。

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

最佳答案

您可以使用 java TimeZone 对象。

<cfset tzObj = createObject("java","java.util.TimeZone") >

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

<cfset tzList = arrayToList(tzObj.getAvailableIDs()) >

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

tzToTest = "US/Pacific"
dateTotest = now()

<!--- determines if dateTotest in tzToTest is in DST --->
<cfset tz = tzObj.getTimeZone(tzToTest) />
<cfset isDaylightSavings = tz.inDaylightTime(dateTotest) />

关于coldfusion - 如何计算夏令时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8448540/

相关文章:

java-8 - ZonedDateTime 在夏季夏令时时会使用冬季的相同时区吗?

javascript - ColdFusion/Javascript 转义单引号

coldfusion - 在 Application.cfc 中设置 Session 变量

sqlite - 将记录插入SQLite数据库实际上并没有插入

timezone - 未设置 PHP 时区

mysql - 在MySQL中计算时区的偏移量

ubuntu - Linux ColdFusion 找不到有效的卸载指令

java - File.lastModified 值会一直增加吗?

java - 如何计算考虑到日节省类次的日期之间的天数?

java - Java中字符串转换为时间戳时添加夏令时