以下代码有效:
$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()
)。
答案 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