使用d-m-Y而不是m-d-Y初始化DateTime PhP

时间:2015-08-06 15:27:15

标签: php date datetime

以下代码有效:

$d1 = new DateTime("12/31/2015");

对应于2015年12月31日。

我从数据库中取出一些日期,格式如下:day / month / year。例如,我得到:

31/12/2015 - 31th December 2015
02/06/2015 - 2nd June 2015
29/03/2015 - 29 March 2015
....

以下代码无效:

$d2 = new DateTime("31/12/2015");

我的数据的性质是:string,我希望每个日期都能获得时间戳(这是我的最终目标,但不是这个问题)。

问题:我们可以使用日 - 月 - 年订单而不是月 - 日 - 年来初始化DateTime吗?

要求:仅使用DateTime对象(不允许使用较旧的对象,如date())。

1 个答案:

答案 0 :(得分:1)

您需要在以下日期格式化日期:

$date = DateTime::createFromFormat('M/d/Y', '12/31/2015');
echo $date->format('d-m-Y');

看看这个页面,它可以帮到你:

http://php.net/manual/fr/datetime.createfromformat.php

您还可以在SQL中选择法语日期,例如:

select date_format(leChampDate, '%d/%m/%Y') as dateFrance