PHP按时区查找本地时间

PHP按时区查找本地时间,php,Php,例如,我的时区是:“欧洲/伦敦”或“美国/洛杉矶” 在Perl中,我可以通过以下方式查找本地时间: use DateTime; use DateTime::TimeZone; $timeZoneName = "MY TIME ZONE HERE"; $timeZone = DateTime::TimeZone->new(name => $timeZoneName); $timeNow = time(); $dateTime = DateTime->f

例如,我的时区是:“欧洲/伦敦”或“美国/洛杉矶”

在Perl中,我可以通过以下方式查找本地时间:

use DateTime;
use DateTime::TimeZone;

$timeZoneName = "MY TIME ZONE HERE";
$timeZone     = DateTime::TimeZone->new(name => $timeZoneName);
$timeNow      = time();
$dateTime     = DateTime->from_epoch(epoch => $timeNow);
$offset       = $timeZone->offset_for_datetime($dateTime);
$localTime    = $timeNow + $offset;
print "$localTime";

但是我不知道如何用PHP查找本地时间,有人帮忙吗?

你可以用PHP来做这件事:

$timezone = 'Europe/London';  //perl: $timeZoneName = "MY TIME ZONE HERE";

$date = new DateTime('now', new DateTimeZone($timezone));

$localtime = $date->format('h:i:s a');

echo "Local time is $localtime.";
如果您没有PHP5.2,请参阅或使用
ini_集('date.timezone',$timezone)
也有很好的参考。在PHP中还有其他方法可以做到这一点,但上述方法很简单,大多数服务器都应该具有PHP5.2或更高版本


请参阅,以获取可以传递到
DateTime::format
的格式列表,以及在Perl中可以使用
DateTime

执行的其他操作的参考,您只需执行以下操作:
DateTime->now(时区=>$timeZoneName)
甚至
DateTime->now(时区=>'local')
不知道为什么要标记Perl,或者为什么你使用了一些PHP程序员可能无法阅读的神秘代码,而不是说你想要什么。那么你需要服务器时间吗?我从访问者那里得到了一个时区列表,我想知道他们的本地时间。你不能用PHP获得用户时区,至少我不知道怎么做。也许你们可以用IP来找到位置,然后猜测时区,但更简单的是让用户自己选择时区。