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时,为什么假设?您正在创建自己的格式字符串…解释得很好!:谢谢解释得很好!:谢谢