PHP日期到时间戳的转换

PHP日期到时间戳的转换,php,Php,我正在尝试将以下字符串转换为时间戳: Closing date: 02 Apr 15 Closing date: 06 May 15 我的代码如下: $start_date = explode("Closing date: ", $string); $start_date = DateTime::createFromFormat('DD M yy', $start_date[1]); 但是当我尝试回显$start\u date->getTimestamp时,

我正在尝试将以下字符串转换为时间戳:

Closing date: 02 Apr 15

Closing date: 06 May 15
我的代码如下:

$start_date = explode("Closing date: ", $string);
                $start_date = DateTime::createFromFormat('DD M yy', $start_date[1]);
但是当我尝试回显$start\u date->getTimestamp时,它告诉我

Fatal error: Call to a member function getTimestamp() on a non-object
知道我做错了什么吗?DD-M-yy似乎是正确的日期格式。

DD-M-yy实际上不是正确的格式。摘自文件:

D和l-从周一到周日的一天的文本表示 到星期六

在调用getTimestamp之前,请尝试对$start\u date进行var\u转储,我打赌这实际上是错误的:

返回新的DateTime实例,失败时返回FALSE

您需要使用的格式是d M y。

DD M yy实际上不是正确的格式。摘自文件:

D和l-从周一到周日的一天的文本表示 到星期六

在调用getTimestamp之前,请尝试对$start\u date进行var\u转储,我打赌这实际上是错误的:

返回新的DateTime实例,失败时返回FALSE


您需要使用的格式是d M y。

您需要将“DD M yy”a更改为正确的日期格式d M y

$start_date = explode("Closing date: ", 'Closing date: 02 Apr 15');
$start_date = DateTime::createFromFormat('d M y', $start_date[1]);

     var_dump($start_date)

    object(DateTime)[3430]
      public 'date' => string '2015-04-02 15:27:28.000000' (length=26)
      public 'timezone_type' => int 3
      public 'timezone' => string 'Europe/London' (length=13)

您需要将'DD M yy'a更改为正确的日期格式d M y

$start_date = explode("Closing date: ", 'Closing date: 02 Apr 15');
$start_date = DateTime::createFromFormat('d M y', $start_date[1]);

     var_dump($start_date)

    object(DateTime)[3430]
      public 'date' => string '2015-04-02 15:27:28.000000' (length=26)
      public 'timezone_type' => int 3
      public 'timezone' => string 'Europe/London' (length=13)
应该是:

$start_date = explode("Closing date: ", $string);
$start_date = DateTime::createFromFormat('d M y', $start_date[1]);
需要传递给DateTime::createFromFormat以帮助其解析数据的格式是d M y。我从以下内容中提取了这些信件的意义:

d和j:月份的第几天,有或没有前导零01到31或1到31的两位数字; F和M:一个月的文本表示,如一月或九月一月到十二月或一月到十二月; y:假设在1970-2069(含)范围内的一年的两位数表示;示例:99或03,分别解释为1999年和2003年。 应该是:

$start_date = explode("Closing date: ", $string);
$start_date = DateTime::createFromFormat('d M y', $start_date[1]);
需要传递给DateTime::createFromFormat以帮助其解析数据的格式是d M y。我从以下内容中提取了这些信件的意义:

d和j:月份的第几天,有或没有前导零01到31或1到31的两位数字; F和M:一个月的文本表示,如一月或九月一月到十二月或一月到十二月; y:假设在1970-2069(含)范围内的一年的两位数表示;示例:99或03,分别解释为1999年和2003年。
为什么不简单地使用strotime将日期转换为时间戳格式呢


为什么不简单地使用strotime将日期转换为时间戳格式呢


DD 0[0-9][1-2][0-9][3[01]07,31DD 0[0-9][1-2][0-9][3[01]07,31你为什么不直接使用strotime?当你可以直接使用RTFM时,为什么要假设?您正在创建自己的格式字符串…为什么不直接使用strotime?当您可以直接使用RTFM时,为什么假设?您正在创建自己的格式字符串…解释得很好!:谢谢解释得很好!:谢谢