如何转换以下字符串:
24 May, 2012, 00:00am
Run Code Online (Sandbox Code Playgroud)
格式如下:
$today = date("D M j G:i:s T Y"); // Sat Mar 10 17:16:18 MST 2001
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方法:
$date = date('D M j G:i:s T Y', strtotime("24 May, 2012, 00:00am"));
Run Code Online (Sandbox Code Playgroud)
但我得到的只是:
Thu Jan 1 0:00:00 UTC 1970
Run Code Online (Sandbox Code Playgroud)
我正在考虑爆炸字符串,然后通过mktime()运行它,但我想知道是否有更好的方法来做到这一点?
我会使用DateTime类和createFromFormat函数,它允许您根据您定义的格式解析日期.
在这种情况下:
$date = DateTime::createFromFormat("d M, Y, h:ia", "24 May, 2012, 00:00am");
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用其他DateTime函数来操作它.
请注意,您提供的日期实际上不符合任何标准:您要么是00:00或要么12:00am.