我希望能够在用户提供的日期和时间向不同时区的用户发送通知。
我还没有实现任何内容,但是我计划创建一个时间戳列并将所有内容存储在UTC中。在提交时,用户将选择一个时区,我将计算偏移量,加到时间戳列中,就完成了。
但是,我的计划缺少DST。我无法确定用户是否处于DST状态。
如何解决这个问题?我需要额外的列吗?有比我计划的更好的方法吗?
<cfset tzObj = createObject("java","java.util.TimeZone") >
您可以通过以下方式获取可用ID列表,例如“US/Pacific”
<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) />