PHP: Get Time for Current Region

£可爱£侵袭症+ 提交于 2020-01-05 07:26:29

问题


I have a timezone of the user(he chooses it from a list) I have a time in UTC(not current time) So I need something like GetTimeForRegion(time, timezone) for PHP. Is there such functions or libraries or services?


回答1:


you can use DateTime::setTimezone(). If your UTC date is an UNIX timestamp, you can use some code like this :

$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



回答2:


date('r') or date('c') may help you.

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

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




回答3:


You need to look at the Date/Time API in PHP. I strongly advise you to stay away of gmdate and older date functions in php.

In your case, you should ask the user for its Olson based time zone.

The code of Artefact2 will do the trick.




回答4:


please write this instead :
$date = date("Y-m-d H:i:s" , time());

so Y it means year
m means month
d means day H get hours from 0 - 24
h get hours from 0 to 12 i get minutes
s get seconds



来源:https://stackoverflow.com/questions/5018265/php-get-time-for-current-region

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!