2012-05-24 101 views
2

如何以下字符串转换:PHP转换格式错误的字符串转换成日期

24 May, 2012, 00:00am 

的格式,如:

$today = date("D M j G:i:s T Y");    // Sat Mar 10 17:16:18 MST 2001 

我已经试过如下:

$date = date('D M j G:i:s T Y', strtotime("24 May, 2012, 00:00am")); 

但我得到的是:

Thu Jan 1 0:00:00 UTC 1970 

我正在考虑爆炸字符串,然后通过mktime()运行它,但我想知道是否有更好的方法来做到这一点?

回答

5

我会使用​​类和createFromFormat函数,它允许您根据您定义的格式解析日期。

在这种情况下:

$date = DateTime::createFromFormat("d M, Y, h:ia", "24 May, 2012, 00:00am"); 

然后可以使用其他日期时间函数来处理这个。

请注意,您提供的日期实际上不符合任何标准:您的意思是00:0012:00am

+0

完美,谢谢。 – Tisch