Как получить местное время в php?

Я пытаюсь получить местное время, используя 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

Я думаю, это должно помочь вам ..