Как вы рассчитываете DST? - PullRequest
       12

Как вы рассчитываете DST?

3 голосов
/ 09 декабря 2011

Я хочу отправлять уведомления пользователям в разных часовых поясах о дате и времени, которые они предоставляют.Я еще ничего не реализовал, но я планирую создать столбец меток времени и хранить все в UTC.Во время отправки пользователь выберет часовой пояс, и я вычислю смещение, добавлю его в столбец отметки времени и вуаля.

Хотелось бы, чтобы все было так просто, но в моем плане отсутствует DST.У меня нет никакого способа узнать, находится ли пользователь в DST или нет.

Как мне обойти это?Нужны ли дополнительные столбцы?Есть ли лучший подход, чем я планирую?

1 Ответ

9 голосов
/ 09 декабря 2011

Вы можете использовать объект Java TimeZone.

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

Вы можете получить список доступных идентификаторов, например, «США / Тихий океан», делая это

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

Если вы можете сопоставить идентификатор с вашим регионом / часовым поясом, вы можете сделать следующее:

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

<!--- determines if dateTotest in tzToTest is in DST --->
<cfset tz = tzObj.getTimeZone(tzToTest) />
<cfset isDaylightSavings = tz.inDaylightTime(dateTotest) />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...