例如,我的时区是:“欧洲/伦敦”或“America / Los_Angeles”
在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查找当地时间,有人帮忙吗?
答案 0 :(得分:3)
您可以在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.";
如果您没有PHP 5.2,请参阅date_default_timezone_set()或使用ini_set('date.timezone', $timezone);
,然后PHP将像在该时区一样运行。您输出的任何日期都将是给定时区的日期。
PHP Date/Time Functions也有很好的参考。还有其他方法可以在PHP中执行此操作,但上述操作很简单,大多数服务器应该具有PHP 5.2或更高版本。
有关可以传递给DateTime::format
的格式列表,请参阅date()以及DateTime
以获取有关{{1}}可以执行的其他操作的参考资料。