У меня есть 2 метки времени Unix, я в Азиатско-Тихоокеанском регионе / часовом поясе Окленда (GMT + 12, DaylightSavings = GMT + 13)
Я хочу рассчитать количество дней с интервалом между 2 временными метками, где одна находится внутри летнего времени, а другая - нет.
Мой пример даты
7 Feb 2009 (1233925200)
до 21 September 2010 (1284985360)
(не включая 21-е)
смотри здесь написано 591 дней: http://www.timeanddate.com/date/durationresult.html?d1=7&m1=2&y1=2009&d2=21&m2=9&y2=2010
Давайте посчитаем, вот мои метки времени (обе основаны на времени Окленда 00:00)
1284985360-1233925200 = 51060160
51060160 / 86400 = 590.974
Так что да, мне нужно 591. Я не хочу использовать решение «округления»
Есть ли надежный метод, такой как strtotime, но для вычисления интервалов дат, предпочтительно, для которого не требуется php 5.3+ минимум
РЕДАКТИРОВАТЬ: нужно уточнить, я использую STRTOTIME, чтобы получить эти метки времени, я думал, что это было UTC
РЕДАКТИРОВАТЬ 2: Я считаю, что я нашел проблему. Хотя моя конечная дата была 21 сентября, я фактически использовал time (), чтобы получить конечную дату, а time () возвращала неправильную метку времени, возможно, она не учитывает GMT + 12, несмотря на то, что я переключил time () на strtotime ( date ('d M Y')), и он вернул правильную метку времени! эврика 591 дней
Ура!