Я хочу получить текущее время в США / восточном часовом поясе. Как я могу это достичь.
Я пробовал следующий код, но он показывает время моей системы.
<?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; ?>
Я использую этот скрипт со вспышкой, поэтому прокомментировал строку «print».
<?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
http://www.php.net/manual/en/timezones.php
Похоже, что US/Eastern
устарели. Попробуйте America/New_York
EDIT это, вероятно, не будет устранять вашу проблему, но вы все равно должны это сделать. Быть устаревшими означает, что они могут удалить его в будущем.
$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()
будет влиять на весь скрипт и его следует использовать осторожно
Самый простой способ – использовать gmmktime()
чтобы получить gmmktime()
Unix timestamp
для текущего GMT, а затем subtract 5 hours
из нее. Таким образом, вы получаете восточное время независимо от того, где находится сервер.
Я просто использую
<?php Date_default_timezone('est'); $lv=date('l, F jS, Y, g:I:s AT,$ir['laston']); ?> <b>last visit</b> <em>$lv.</em>
Кажется, отлично работает для меня в моей игре, над которой я работаю. Имейте в виду, если вы хотите использовать его, просто удалите $ ir ['laston'], и он не должен работать без проблем