php中的日期格式更改

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

我有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", 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
。。。