Php получает текущее время US/Eastern
Я хочу получить текущее время в США/восточном часовом поясе. Как я могу это достичь.
Я пробовал следующий код, но он показывает мое системное время.
<?php
date_default_timezone_set('US/Eastern');
$currenttime = date('h:i:s:u');
list($hrs,$mins,$secs,$msecs) = split(':',$currenttime);
//print "&time2=".$secs."&time1=".$mins."&time0=".$hrs;
?>
Я использую этот script со вспышкой, поэтому прокомментировал строку "print".
Ответы
Ответ 1
<?php
echo date_default_timezone_get();
$currenttime = date('h:i:s:u');
list($hrs,$mins,$secs,$msecs) = split(':',$currenttime);
echo " => $hrs:$mins:$secs\n";
date_default_timezone_set('US/Eastern');
echo date_default_timezone_get();
$currenttime = date('h:i:s:u');
list($hrs,$mins,$secs,$msecs) = split(':',$currenttime);
echo " => $hrs:$mins:$secs\n";
date_default_timezone_set('America/New_York');
echo date_default_timezone_get();
$currenttime = date('h:i:s:u');
list($hrs,$mins,$secs,$msecs) = split(':',$currenttime);
echo " => $hrs:$mins:$secs\n";
?>
Кажется, здесь работает (в Берлине):
Europe/Berlin => 01:42:42
US/Eastern => 07:45:18
America/New_York => 07:45:18
Ответ 2
$amNY = new DateTime('America/New_York');
$estTime = $amNY->format('h:i:s:u');
или если вы используете php 5.4 и выше
estTime = (new DateTime('America/New_York'))->format('h:i:s:u');
date_default_timezone_set()
будет влиять на целое script и его следует тщательно использовать
Ответ 3
http://www.php.net/manual/en/timezones.php
Похоже, что US/Eastern
устарел. Попробуйте America/New_York
РЕДАКТИРОВАТЬ, вероятно, это не решит вашу проблему, но вы все равно должны это сделать. Быть устаревшим означает, что они могут удалить его в будущем.
Ответ 4
Самый простой способ - использовать gmmktime()
, чтобы получить Unix timestamp
для текущего GMT, а затем subtract 5 hours
. Таким образом, вы получаете восточное время независимо от того, где находится сервер.
Ответ 5
Я просто использую
<?php
Date_default_timezone('est');
$lv=date('l, F jS, Y, g:I:s A T,$ir['laston']);
?>
<b>last visit</b> <em>$lv.</em>
Кажется, отлично работает для меня в моей игре, над которой я работаю. Имейте в виду, если вы хотите использовать его, просто удалите $ir ['laston'], и он не должен работать без проблем