在我的项目时间显示为
"2017-01-01 12:00:00+03:00".
如何将其作为
"2017-01-01 15:00:00"
答案 0 :(得分:1)
你可以这样使用
echo date("Y-m-d H:i:s A",strtotime('2017-01-01 12:00:00+03:00'));
但是你会09:00:00 AM
而不是15:00:00 AM
,因为你的时间提前+3
答案 1 :(得分:0)
您的时间2017-01-01 12:00:00+03:00
表示在12:00:00
小时的时区内为+3
小时。您不想只是将时间重新格式化为不同的显示器:
(new DateTime($yourDateInStringOrUnix))->format('Y-m-d H:i:s');
你会得到
`2017-01-01 12:00:00` //This is local time in timezone of +3 hour
答案 2 :(得分:0)
您想要为当前时间添加偏移量。使用偏移量分隔日期时间并重新计算。
<?php
date_default_timezone_set('UTC');
$date = '2017-01-01 12:00:00+03:00';
$datetime = substr($date, 0, 19); // Get date time string
$offset = substr($date, 19); // Extract Offset
list($hours, $minutes) = explode(':', $offset);
$seconds = $hours * 60 * 60 + $minutes * 60; // Convert offset to seconds
// Recalculate date time by adding offset
echo date('Y-m-d H:i:s', strtotime($datetime) + $seconds);
?>
输出
2017-01-01 15:00:00
希望这有帮助!
答案 3 :(得分:-1)
你可以这样做。
如果这是来自您的数据,您可以这样做:
$my_date = "2017-01-01 12:00:00+03:00";
$converted_date = date('Y-m-d H:i:s', strtotime($my_date));
echo $converted_date;
但是如果你只获得当前的日期和时间,你可以这样做;
$my_date = date('Y-m-d H:i:s');
echo $my_date;