我在PHP中有一个来自json的动态变量
$timestamp = $array['timestamp'];
时间戳显示为:
2018-09-22T05:28:45.676899Z
但是我希望它显示为:
2018-09-22 - 05:28:45
我不知道该怎么做,时间戳是动态的,每分钟都会改变
答案 0 :(得分:0)
将时间戳转换为DateTime
对象,然后可以使用format
方法以您喜欢的任何形式将其打印出来。在您的特定情况下:
$timestamp = '2018-09-22T05:28:45.676899Z';
$date = new DateTime($timestamp);
echo $date->format('Y-m-d - H:i:s');
输出:
2018-09-22 - 05:28:45
答案 1 :(得分:0)
使用preg_replace
的一个选项:
$input = "2018-09-22T05:28:45.676899Z";
$output = preg_replace("/(\d{4}-\d{2}-\d{2})[T\s]?(\d{2}:\d{2}:\d{2}).*/", "$1 - $2", $input);
echo $input ."\n" . $output;
2018-09-22T05:28:45.676899Z
2018-09-22 - 05:28:45
答案 2 :(得分:0)
echo date("Y-m-d - H:i:s", strtotime("2018-09-22T05:28:45.676899Z"));
输出
2018-09-21 - 22:28:45