Получить смещение часового пояса между двумя часовыми поясами за заданный период времени

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

getTimezoneOffset(startDate,endDate,timezone1,timezone2){
    ...missing magic to go here...
}

должен возвращать смещение часового пояса, действительное для данной продолжительности. Однако, если смещение изменится, оно должно вернуть диапазон дат, для которого оно действительно.

Я смотрю на что-то вроде этого:

getTimezoneOFfset("march 9 12 am", "march 15 12 am", "UTC", "US/NEW_YORK")

возвращаемое значение что-то вроде этого

timezoneoffset[0]["range"]=[march 9 12am to march 11 2 am]
timezoneoffset[0]["offset"]=5
timezoneoffset[1]["range"]=[march 9 2 am to march 15 12 am]
timezoneoffset[1]["offset"]=4

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

Я работаю с PHP, но я буду признателен за решение на любом языке.

Решение MySQL также будет работать, поскольку оно будет более оптимизировано для этого в MySQL.

6
задан Jonathan Leffler 6 February 2012 в 18:24
поделиться