Как получить местный часовой пояс в PHP? - PullRequest
6 голосов
/ 28 декабря 2011

Я использую вызов функции date("D, m/d/Y h:i:s A T"), чтобы получить текущую дату, но возвращаемое время отличается от времени, которое я получаю, когда делаю дату в команде linux bash (местное время в CST и phpфункция date возвращает время в UTC ).Я пытался использовать $timezone = @system("date +%Z",$retval);, чтобы получить часовой пояс, пытаясь установить местный часовой пояс с помощью функции date_default_timezone_set().Но CST , кажется, не является действительным идентификатором timezone_.

Короче говоря, мне просто нужно получить ту же дату и время, что и локальную дату / время.

Ответы [ 3 ]

10 голосов
/ 28 декабря 2011

Использовать часовой пояс от http://php.net/manual/en/timezones.php

Итак, для использования CST:

<?php
date_default_timezone_set("America/Chicago");

Если у вас есть только сокращение часового пояса, а не идентификатор часового пояса, используйте:

<?php
date_default_timezone_set(timezone_name_from_abbr("CST"));
1 голос
/ 28 декабря 2011

Хотя система и PHP должны находиться в одном часовом поясе, прочитайте документы для date_default_timezone_set(), чтобы установить часовой пояс вручную.

Обратите внимание, что CST не является действительной настройкой часового пояса. Найдите действительный часовой пояс для вашего местоположения.

0 голосов
/ 28 декабря 2011

Мне кажется, я нашел лучшую функцию: timezone_name_from_abbr()

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