0

我有一个格式如下的字符串 yyyy-mm-dd-hh-mm-ss

它采用这种格式的原因是它是 URL 的一部分。我需要帮助将其转换为 PHP 中可用的时间格式。

这是我到目前为止所尝试的。

$time = "2013-04-14-23-33-17";
$time2 = strtotime($time);
$time3 = date('M d, Y', $time2) . ' ' . _('at') . ' ' . date('h:i a', $time2);
echo $time3;

它只是在 1970 年 1 月 1 日凌晨 12:00 回响,这是错误的,而不是 2013 年 4 月 14 日晚上 11:33。

4

2 回答 2

3

它不起作用,因为那不是有效的日期格式。请参阅支持的日期和时间格式

您需要做的是通过为您的字符串指定格式来创建一个 DateTime 对象。

DateTime::createFromFormat正是这样做的。

于 2013-04-15T03:44:13.637 回答
2

您可以DateTime用来帮助您进行解析:

$date = DateTime::createFromFormat('Y-m-d-H-i-s', $time);
echo $date->format('M d, Y h:i a');
于 2013-04-15T03:45:04.990 回答