我正在制作一个小推特克隆只是为了学习,我遇到了一个问题,在允许用户选择他们所在的时区之前和之后,显示他们何时发布某件事的时间是错误的。
以下是我的代码片段:
/* current date/time whenever they send a tweet */
$time = date('Y-m-d H:i:s');
/* Insert into db as `time` */
/* Time retrieved as $value['time'] & users timezone as $_SESSION['timezone'] */
/* Convert to users timezone */
$users_timezone = new DateTimeZone($_SESSION['timezone']);
$date = new DateTime($value['time']);
$date->setTimeZone($users_timezone);
$new_date = $date->format('M j, o g:i a e');
echo $new_date;
洛杉矶地区目前是上午 11:32,但转换后显示为下午 6:26
我的默认设置是在柏林,目前是晚上 8:33,但在转换之前它显示为凌晨 1 点
谁能给我任何见解?第一次这样做。