Php 需要帮助将时间字符串转换为可用格式吗

Php 需要帮助将时间字符串转换为可用格式吗,php,Php,我有一个以下格式的字符串 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; 它只是在1

我有一个以下格式的字符串 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发出回声。它不起作用,因为这不是有效的日期格式。看

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


确实如此。

它不起作用,因为这不是有效的日期格式。看

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

确实如此。

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

$date = DateTime::createFromFormat('Y-m-d-H-i-s', $time);
echo $date->format('M d, Y h:i a');
您可以使用来帮助您进行分析:

$date = DateTime::createFromFormat('Y-m-d-H-i-s', $time);
echo $date->format('M d, Y h:i a');

1970年1月1日午夜是unix时代。本质上,解析字符串时返回
false
。然后将
false
转换为
0
,然后PHP将其解析为秒偏移量。它是用于翻译的“主”脚本的一部分。1970年1月1日午夜是unix时代。本质上,解析字符串时返回
false
。然后将
false
转换为
0
,然后PHP将其解析为秒偏移量。这是用于翻译的“主”脚本的一部分。该死,我不知道这一点:)我现在就试试。谢谢,我不知道:)我现在就试试。谢天谢地,我不知道这个PHP函数。谢谢@JesseWilliamSzypulski它是相对较新的,在5.3中引入。太棒了,我不知道这个PHP函数。谢谢@JesseWilliamSzypulski它相对较新,在5.3中引入。