我需要根据当前时区显示用户的活动日期。 我的方法 -
$ offsetDiff = $ _SESSION ['TimeZone'] * 60;
$ UserDateTime = time()+ $ offsetDiff;
$ currentDate = date('Y-m-d',$ UserDateTime);
$ offsetDiff = $ _SESSION ['TimeZone'] * 60;
$ UserDateTime ='2014-02-10 08:58:00'; + $ offsetDiff;
$ monthUser = date('Y-m-d',$ UserDateTime);
任何人都可以告诉我如何根据时区偏移显示正确的日期?
答案 0 :(得分:1)
您可以将特定偏移量转换为DateTimeZone:
$offset = '-0500';
$isDST = 1; // Daylight Saving 1 - on, 0 - off
$timezoneName = timezone_name_from_abbr('', intval($offset, 10) * 36, $isDST);
$timezone = new DateTimeZone($timezoneName);
然后你可以在DateTime构造函数中使用它,例如
$datetime = new DateTime('2012-04-21 01:13:30', $timezone);
或使用setter:
$datetime->setTimezone($timezone);
在后一种情况下,如果使用不同的时区构建$ datetime,则日期/时间将转换为指定的时区。