简体   繁体   中英

PHP: Get Time for Current Region

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?

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

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

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.

please write this instead :
$date = date("Ymd 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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM