转换此日期格式

时间:2014-01-12 01:20:15

标签: php date strtotime

我正在使用可能不标准的日期格式,因为strtotime未正确解析它。格式为Sun Nov 16 10:10:10 GMT 2010。我正在尝试使用2010-11-16将其转换为date('Y-m-d', strtotime($date)但不起作用。有没有办法可以对原始日期字符串进行修改,使其接近标准格式,以便strtotime接受它?

2 个答案:

答案 0 :(得分:3)

http://php.net/manual/en/function.strtotime.php

  

该函数需要一个包含英文日期的字符串   格式并将尝试将该格式解析为Unix时间戳(   自1970年1月1日00:00:00 UTC以来的秒数,相对于   现在给出的时间戳,或者现在没有提供当前时间。

修改

我相信你会通过dateTime课程实现你想要的目标 http://www.php.net/manual/en/class.datetime.php

编辑2

正如@Mark Ba​​ker评论的那样,正确使用的函数是DateTime::createFromFormat,您可以在此链接中看到:
http://www.php.net/manual/en/datetime.createfromformat.php

答案 1 :(得分:0)

strtotime() 确实知道如何解析您的格式Sun Nov 16 10:10:10 GMT 2010并正确解析它。 demo

您的示例问题是日期2010-11-16不是星期日,而是星期二,这就是您first Sunday from date 2010-11-16 2010-11-21的原因strtotime() demo

DateTime::createFromFormat 将返回与{{1}}相同的日期时间。 demo