使用php日期格式到另一种格式?

时间:2017-12-14 06:18:44

标签: php date datetime

我有日期字符串"星期二,2018年10月2日"我需要转换另一个日期格式2018-10-02。但它显示2017年。为什么呢?

   <?php

   $checkin = "Tue, 2 October, 2018";    
   echo date("Y-m-d", strtotime($checkin));

   //it show 2017-10-03 but i need 2018-10-02

   ?>

3 个答案:

答案 0 :(得分:2)

您的格式是自定义的,strtotime无法解析。你必须使它可以解析。您可以通过以下方式进行操作(DEMO):

$checkin = "Tue, 2 October, 2018";    
$checkinDate = explode(',',$checkin);
$strDate = $checkinDate[1].$checkinDate[2];
echo date("Y-m-d", strtotime($strDate));

此代码中断了,处的字符串,然后加入了忽略当天的最后两部分。

或者您可以使用date_create_from_format()来解析此格式,例如(DEMO):

$checkin = "Tue, 2 October, 2018";
$checkin = date_create_from_format('D, j F, Y', $checkin);
echo date_format($checkin, "Y-m-d");

答案 1 :(得分:1)

您的输入格式错误。删除第二个逗号。它必须阅读

Tue, 2 October 2018

答案 2 :(得分:1)

删除,十月后逗号,删除星期二,