我试图将日期从yyyy-mm-dd转换为dd-mm-yyyy(但不是SQL);然而,我不知道日期函数如何需要时间戳,我无法从这个字符串中获得时间戳。

这怎么可能呢?


当前回答

您可以使用date()和strtotime()更改格式。

$date = '9/18/2019';

echo(’d-m-y’日期、strtotime(美元);

结果:

The 18-09-19

我们可以通过改变(d-m-y)来改变格式。

其他回答

使用strtotime()和date():

$originalDate = "2010-03-21";
$newDate = date("d-m-Y", strtotime($originalDate));

(请参阅PHP站点上的strtotime和date文档。)

请注意,这是原始问题的快速解决方案。对于更广泛的转换,你应该使用DateTime类来解析和格式化:-)

还有一种模糊的可能性:

$oldDate = '2010-03-20'
$arr = explode('-', $oldDate);
$newDate = $arr[2].'-'.$arr[1].'-'.$arr[0];

我不知道我是否会使用它,但仍然:)

在PHP中,任何日期都可以转换为所需的日期格式,使用不同的场景,例如将任何日期格式转换为 日、日、月、年

$newdate = date("D, d M Y", strtotime($date));

它将以以下非常好的格式显示日期

2020年11月16日星期一

date('m/d/Y h:i:s a',strtotime($val['EventDateTime']));
$newDate = preg_replace("/(\d+)\D+(\d+)\D+(\d+)/","$3-$2-$1",$originalDate);

此代码适用于所有日期格式。

由于您的旧日期格式,您可以更改替换变量的顺序,例如$3-$1-$2。