php中的日期格式更改
我有2018年5月12日的日期格式。我需要改成2018-12-05。请帮我php中的日期格式更改,php,Php,我有2018年5月12日的日期格式。我需要改成2018-12-05。请帮我 $originalDate = "12/May/2018"; $newDate = date("Y-m-d", strtotime($originalDate)); echo $newDate; 产出:1969-12-31 提前感谢。strotime不支持该日期格式。 但支持将/替换为空格格式 $originalDate = "12/May/2018"; $newDate = date("Y-m-d", strtoti
$originalDate = "12/May/2018";
$newDate = date("Y-m-d", strtotime($originalDate));
echo $newDate;
产出:1969-12-31
提前感谢。strotime不支持该日期格式。
但支持将
/
替换为空格格式
$originalDate = "12/May/2018";
$newDate = date("Y-m-d", strtotime(str_replace("/", " " ,$originalDate)));
echo $newDate;
您得到1969-12-31的原因是因为UNIX 0是1970-01-01 00:00:00。当strotime无法解析日期时,它返回
false
False可以被类型转换为
0
这意味着日期在UNIX时间0(1970年)时读为“Y-m-d”,并且由于您所在的时区,您得到的是1969-12-31。strotime不支持该日期格式。
但支持将
/
替换为空格格式
$originalDate = "12/May/2018";
$newDate = date("Y-m-d", strtotime(str_replace("/", " " ,$originalDate)));
echo $newDate;
您得到1969-12-31的原因是因为UNIX 0是1970-01-01 00:00:00。当strotime无法解析日期时,它返回
false
False可以被类型转换为
0
这意味着date在UNIX时间0(1970年)时读作“Y-m-d”,由于您所在的时区,您将得到1969-12-31。使用以下代码:
$originalDate = "12/May/2018";
$originalDate =str_replace("/", " ", $originalDate);
$newDate = date("Y-m-d", strtotime($originalDate));
echo $newDate;
使用此代码:
$originalDate = "12/May/2018";
$originalDate =str_replace("/", " ", $originalDate);
$newDate = date("Y-m-d", strtotime($originalDate));
echo $newDate;
不需要任何手动解析。
您应该使用PHP的类,它比旧的
date()
-函数灵活得多
下面是一个可以满足您需求的示例:
$date = DateTime::createFromFormat('d/M/Y', '12/May/2018');
echo $date->format('Y-m-d');
演示:不需要任何手动解析。
您应该使用PHP的类,它比旧的
date()
-函数灵活得多
下面是一个可以满足您需求的示例:
$date = DateTime::createFromFormat('d/M/Y', '12/May/2018');
echo $date->format('Y-m-d');
演示:试试这个
$originalDate = "12/May/2018";
$newDate = date_format(date_create_from_format("j/F/Y", $originalDate), 'Y-m-d');
echo $newDate;
注意:如果您的日格式为01
使用d
,如果1
使用j
结果是:2018-05-12
$originalDate = "12/May/2018";
$newDate = date_format(date_create_from_format("j/F/Y", $originalDate), 'Y-m-d');
echo $newDate;
注意:如果您的日格式为01
使用d
,如果1
使用j
输出为:2018-05-12您的问题中是否有拼写错误
Y-m-d
将导致2018-05-12
,而不是2018-12-05
。一些回答会很好…您的问题中是否有输入错误Y-m-d
将导致2018-05-12
,而不是2018-12-05
。。。