日期转换显示错误[重复]

Posted

技术标签:

【中文标题】日期转换显示错误[重复]【英文标题】:Date convert showing wrongly [duplicate] 【发布时间】:2018-07-09 05:02:12 【问题描述】:

我喜欢在 php 中将日期格式 dd/mm/yyyy 转换为另一种格式。

我的代码:

$date = '29/01/2018';
echo date('l jS F Y', strtotime($date)); 

当我运行上面的代码时,它显示了一些错误的日期:

Thursday 1st January 1970

我做错了吗?

【问题讨论】:

strtotime 将其取消设置为 mm/dd/yyyy 发生这种情况是因为您的 $date 的 strtotime 格式未知 与最近的另一个问题相同的问题,相同的解决方案:***.com/a/48517562/1427878 【参考方案1】:

您还可以使用 DateTime 对象来帮助您转换日期。您可以“从指定格式创建日期时间对象”并进行转换。

$date = "29/01/2018";
$dt = DateTime::createFromFormat("d/m/Y", $date);

echo $dt->format("l jS F Y");

【讨论】:

【参考方案2】:

表示美国 M/D/Y 格式

<?php

$date = '01/29/2018';
echo date('l jS F Y', strtotime($date)); 

输出

Monday 29th January 2018

【讨论】:

以上是关于日期转换显示错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在java中将时间戳转换为日期并显示计数值[重复]

将字符串转换为日期时间错误 [重复]

日期:将用户输入转换为日期时间 shell 时的日期无效 [重复]

将mysql查询结果转换为不同的日期格式[重复]

DatePipe 转换显示错误的日期格式

如何在c#中将字符串转换为日期[重复]