2015-07-07 6 views
0

Я использую php/mysql в течение длительного времени, и я использую unix_timestamp для хранения значений даты, времени. Я создал класс timestamp для обработки такого запроса. Исходный код доступен по адресу github.Как рассчитать временную метку GMT и UTC

По умолчанию этот класс использует, по-моему, $ _SERVER ['REQUEST_TIME'], который является меткой времени по умолчанию.

Мое требование заключается в том, чтобы узнать местную временную метку в соответствии с GMT и показать пользователю. Другими словами, мне нужно найти местное время любого пользователя и разницу с GMT в количестве секунд, используя PHP

Как реализовать эти требования в своем классе. Пожалуйста, помогите

+0

GMT == UTC (Timewise, что есть), так что я думаю, вы не (GMT - это часовой пояс, UTC - стандарт, базовое время которого совпадает с часовым поясом GMT) – Blizz

+0

Как получить разницу в GMT и регионе пользователя с помощью PHP –

+0

Вы должны обновить свой вопрос, чтобы отразить изменение. – Blizz

ответ

0

Чтобы получить UTC метку времени попробовать:

date_default_timezone_set("UTC"); 
echo date("Y-m-d H:i:s", time()); 
+0

Я сделал следующее: $ test = new scTimestamp(); $ test1 = new scTimestamp(); date_default_timezone_set ("UTC"); $ time = time(); $ test1-> setTimestamp ($ time); echo $ test-> getDateTimeAsString(); echo $ test1-> getDateTimeAsString(); и получить тот же результат: июля 7, 2015, 4:10 вечера 7 июля 2015, 4:10 вечера и мое местное время 8 июля 2015, 2:10 утра –

1

DateTime позволяет легко сделать это:

// Interpret the time as UTC 
$timezone = new DateTimeZone('UTC'); 
$datetime = new DateTime('@' . $_SERVER['REQUEST_TIME'], $timezone); 

// Output as PHP's timezone 
$user_timezone = new DateTimeZone(date_default_timezone_get()); // Or whatever timezone you need 
$datetime->setTimeZone($user_timezone); 
echo $datetime->format('Y-m-d H:i:s'); 
+0

я получил «2015 -07-07 16:20:09 "в результате, но в мое местное время" 2015-07-08 02:20:09 ". Как мне закодировать мой класс, чтобы класс работал в любом регионе мира и печатал по местному времени –

+0

Вы меняете часть с $ user_timezone на имя часового пояса пользователей. Вероятно, вы получите эту информацию из своей учетной записи на своем сайте, если у вас есть выбор часовой пояс. – Blizz

+0

есть ли способ узнать, не спрашивая пользователя? если это возможно в PHP, иначе в jquery или javascript. Coz, как только я узнаю разницу, его можно сохранить в базе данных подключений –

Смежные вопросы