Я пытаюсь получить местное время, используя php. Я написал две разные версии, но они оба дают неправильное время
date_default_timezone_set('UTC'); $now = new DateTime(); echo $now->getTimestamp();
Другой путь
date_default_timezone_set('America/New York'); echo strtotime("now")."<br/>";; $now = new DateTime(); echo $now->getTimestamp();
В обоих случаях я получаю время на четыре четверти раньше моего местного времени. Есть ли другой способ получить местное время?
DateTime::getTimestamp()
возвращает DateTime::getTimestamp()
метку unix. Это число всегда UTC. Вы хотите форматировать дату в соответствии с вашим часовым поясом.
$dt = new DateTime("now", new DateTimeZone('America/New York')); echo $dt->format('m/d/Y, H:i:s');
Или используйте другой формат даты, в соответствии с тем, что вам нужно.
Кроме того, вы можете использовать библиотеку DateTime для всех ваших потребностей в дате. Не нужно менять часовой пояс сервера по умолчанию каждый раз, когда вы хотите получить дату.
Просто используйте функцию date_default_timezone_set (). Вот пример:
<?php date_default_timezone_set("Asia/Dhaka"); echo date('dmY h:i:s A'); ?>
Надеюсь, это поможет, спасибо.
Вам нужно использовать javascript, потому что вы хотите получить время от клиента. PHP – это серверный язык, который оценивает на сервере и отправляет результаты клиенту. Поэтому, если вы попытаетесь вывести дату / время с помощью функции PHP, он будет вытаскивать дату с сервера, что не всегда находится в часовом поясе клиента.
Вы можете сделать это в функции javascript, а затем указать значение на дисплее.
var thisDateTime = new Date ();
Если вы не хотите использовать часовой пояс, вы можете использовать это сочетание окон и php-команд:
<?php $D = exec('date /T'); $T = exec('time /T'); $DT = strtotime(str_replace("/","-",$D." ".$T)); echo(date("Ymd H:i:s",$DT)); ?>
Мне интересно, почему никто не упомянул localtime(time());
в PHP с результатом индексированного ключевого массива или localtime(time(), true);
с результатом ассоциативного ключевого массива.
Вы можете решить эту проблему, используя функцию localtime () или функцию date_default_timezone_set () .
Подробнее о функции localtime ():
http://php.net/manual/en/function.localtime.php
или
Подробнее о функции date_default_timezone_set () подробнее см. http://www.php.net/manual/en/function.date-default-timezone-set.php
Я думаю, это должно помочь вам ..