2016-04-09 5 views
0

date_diff не поддерживает формат d/m/Y. В настоящее время я использую strtotime для преобразования даты в m/d/Y, но я хочу знать, как изменить формат даты date_diff на d/m/Y?По умолчанию Дата Формат времени date_diff

спасибо.

+0

Этот не имеет никакого отношения к 'date_diff()' ... это когда вы создаете объект DateTime ...... PHP рассматривает разделитель '/' как формат США, разделитель '-' как европейский формат. ... как [задокументировано] (http://www.php.net/manual/en/datetime.formats.date.php) .... в противном случае, как бы он знал, является ли «2/3/2016» вторым Март или 3 февраля? И 'strtotime()' точно такой же. –

ответ

0

Вы можете использовать DateTime::createFromFormat:

$date1 = DateTime::createFromFormat('d/m/Y', '14/05/2016'); # oo style 
$date2 = date_create_from_format('d/m/Y', '17/05/2016');  # procedural style 

$dateInterval = $date1->diff($date2); 

или:

$dateInterval = date_create_from_format('d/m/Y', '14/05/2016')->diff(date_create_from_format('d/m/Y', '17/05/2016')); 
0

Использование date_create вместе с date_diff

$datetime1 = date_create('10/11/2009'); 
$datetime2 = date_create('10/13/2009'); 
$interval = date_diff($datetime1, $datetime2); 

Ref: http://php.net/manual/en/datetime.diff.php

+0

Итак, как использовать date_diff с d/m/Y. Как 14/05/2016? date_create ("14/12/2016") не работает. –

Смежные вопросы