您可以使用 mktime 为日期函数提供第二个参数。
像这样:
var_dump($endDate = date('Y-m-d h:i:s', mktime(0-2, 0, 0, 2, 1, 2011)));
或者像这样使用datetime class:
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
date_default_timezone_set('Europe/Bucharest');
# equivalent of GMT since Europe/Bucharest is +2 , we feed -2 for the hour
var_dump($endDate = date('Y-m-d h:i:s', mktime(date('h')-2, date('i'), date('s'), date('d'), date('m'), date('Y'))));
# equivalent of GMT+1 since Europe/Bucharest is +2 we feed -1 for the hour
var_dump($endDate = date('Y-m-d h:i:s', mktime(date('h')-1, date('i'), date('s'), date('d'), date('m'), date('Y'))));
您也可以按小时输入 +3,将欧洲/布加勒斯特作为默认时区 +3 将给出 GMT +5,您也可以设置默认时区欧洲/伦敦女巫相当于 GMT0,然后用户发送给您+2 你会用 +2 来喂 mktime,女巫会给你相当于 GMT+2 europe/bucharest 的时间。