Php:获取当前区域的时间

问题描述:

经过〜2-3小时的搜索找不到明确的答案: 我有一个用户的时区(他从列表中选择它) 我有一个UTC时间(不是当前时间) 所以我需要像PHP的GetTimeForRegion(时间,时区)。有没有这些功能,图书馆或服务?Php:获取当前区域的时间

+1

这个职位似乎是相似的。 http://*.com/questions/952975/how-can-i-easily-convert-dates-from-utc-via-php – gokujou 2011-02-16 15:25:25

你可以使用DateTime :: setTimezone()。如果您的UTC日期是UNIX时间戳,你可以使用一些这样的代码:

$date = new DateTime(); 
$date->setTimezone(new DateTimeZone('UTC')); 
$date->setTimestamp(1297869844); 
$date->setTimezone(new DateTimeZone('Europe/Paris')); 

echo $date->format('Y-m-d H:i:s'); 
// Will print 2011-02-16 16:24:04 

你需要看看在PHP中Date/Time API。我强烈建议你不要在php中使用gmdate和更早的日期函数。

对于您的情况,您应该询问用户的时区为Olson based

Artefact2的代码将做到这一点。

日期('r')或日期('c')可能对您有所帮助。

echo date('r')打印Thu, 16 Feb 2011 16:01:07 +0200

echo date('c')打印2011-02-16T16:01:07+02:00