从这个字符串创建datetime对象?

时间:2012-08-28 22:00:38

标签: php datetime

我遇到了一个小编程问题。我需要做一些时间计算,但作为输入我只有一个字符串 - 所以基本上我需要将这个字符串转换为PHP中的日期/时间对象。这是我遇到麻烦的转换。

$endtimestamp = "September 1, 2012 13:00 PM";

$doesntwork = strtotime(trim($endtimestamp));
$doesntwork2 = date_create_from_format("l, F j, Y G:i A", $endtimestamp);
$doesntwork3 = date("l, F j, Y G:i A", strtotime($endtimestamp));

说实话,我不知道为什么这些功能不能正常工作。到目前为止,其他在线资源充其量只是模糊不清。谁能告诉我我做错了什么?

2 个答案:

答案 0 :(得分:3)

这是因为你在开头有一些奇怪的l,

如果您使用以下格式:

'F j, Y G:i A'

一切正常

答案 1 :(得分:2)

这里有两个问题。

一个是13:00 PM没有任何意义。它可以是1:00 PM 13:00

strtotime("September 1, 2012 13:00");

您的格式l, F j, Y G:i A也与输入字符串不匹配。

格式应为:F j, Y G:i A,或字符串应为Saturday, September 1, 2012 13:00 PM