Я пытаюсь вычислить количество дней между двумя днями, но у меня проблемы с летним временем. Вот мой код: function date_diff($old_date, $new_date) { $offset = strtotime($new_date) – strtotime($old_date); return $offset/60/60/24; } Работает нормально, пока дни находятся в пределах одного и того же периода летнего времени: echo date_diff('3/15/09', '3/18/09'); // 3 Но нет, если они будут дальше […]
Сегодня столкнулась с интересной функцией (? DateTime::setTimestamp() поведении PHP DateTime::setTimestamp() . Во время зимнего изменения DST, когда 1 час повторяется дважды, PHP преобразует временную метку, чтобы всегда быть вторым часом. Рассмотрим следующий пример: <?php $date = new \DateTime("now", new \DateTimeZone("UTC")); //2018-10-28T01:30:00 UTC, in London DST happens $date->setTimestamp(1540686600); echo $date->getTimestamp() . "\n"; //1540686600 echo $date->format('c') . […]
Я знаю, что есть много вопросов и ответов об этом, но, к сожалению, я думаю, что моя ситуация может быть уникальной? По некоторым причинам изменение времени, по-видимому, заставляет вычислять день как на один день меньше, чем он должен вычислять. Вот мой PHP, который я использовал, и он отлично работает, пока он не начнет перекрывать дату […]
Объект DateTime не связан его меткой времени? Или getTimestamp () имеет какой-то побочный эффект при использовании при изменении DST? Детали При установке метки времени объекта DateTime находящегося в DST (это означает, что время форматирования существует как до, так и после смены часов), возвращаемая временная метка отличается от установленной временной метки. $ php –version PHP 7.1.3 […]
Меняет ли php date_default_timezone_set переход на летнее время? У меня есть этот код, и интересно, всегда ли это приведет к правильному Стокгольмскому времени? date_default_timezone_set('Europe/Stockholm'); $timestamp = date("Ymd H:i:s");
Возможно ли в PHP получить смещение часового пояса для данного местоположения? Например, когда указано местоположение «Сидней / Австралия», чтобы компенсировать часовой пояс как «+1100». Бонус будет для этой функции учитывать дневную экономию дневного света (т. Е. Он знает о дневном свете и корректирует смещение в соответствии).
Я пытаюсь представить временную метку UTC в разных часовых поясах, используя функцию date_default_timezone_set PHP. Летнее время только что началось здесь (NZ) и в Австралии, и я получаю смешанные результаты … Вот несколько тестовых кодов … date_default_timezone_set('NZ'); print '<p>NZ time is ' . date('Ymd H:i:s T (I)') . '</p>'; date_default_timezone_set('Australia/NSW'); print '<p>NSW time is ' . […]
Мне нужно отправить электронное письмо пользователям, расположенным в любом месте в мире, в 9:00 по местному времени. Сервер находится в Великобритании. То, что я могу сделать, – установить разницу во времени между каждым пользователем и временем сервера, которое тогда прекрасно срабатывало бы, если бы DST не существовало. Вот пример, чтобы проиллюстрировать это: Джон работает в […]
При использовании локальных значений DateTime предоставленных пользователем, вполне возможно иметь время, которое является либо недопустимым, либо неоднозначным из-за перехода на летнее время. В других языках и isAmbiguous часто используются такие методы, как isAmbiguous и isValid , при некотором представлении часового пояса. Например, в .NET существует TimeZoneInfo.IsAmbiguousTime и TimeZoneInfo.IsInvalidTime . Множество других реализаций часовых поясов имеют […]
Я работаю над календарным приложением. В этом случае пользователи из разных часовых поясов создают / видят события. Я собираюсь следовать ниже, чтобы сохранить время события в UTC и отобразить их в локальное время пользователя. Примечание: у пользователя есть предпочтительная настройка часового пояса. Чтобы сохранить время начала события как метку времени UTC: $timezone = new DateTimeZone( […]