Класс PHP DateInterval
имеет свойство «дни». Согласно руководству, он возвращает «Общее количество дней, когда промежутки пройдены. Если это неизвестно, дни будут ЛОЖНЫ».
В моем случае код:
$d = new DateInterval('P1Y'); echo $d->days;
возвращает -99999
и такой код
$a = DateTime::createFromFormat("dmY", "01.01.2010"); $b = DateTime::createFromFormat("dmY", "03.01.2010"); $d = $b->diff($a); echo $d->days;
возвращает 6015
Я что-то неправильно понял?
DateInterval ошибочен на платформе Windows. См. Ошибку # 51183 . Официальный ответ кажется «использовать VC9 сборки вместо этого на данный момент».
Я просто запускаю ваши примеры, и они должны работать. В частности, я получил:
$d = new DateInterval('P1Y'); var_dump($d->days); // result: int 0 $a = DateTime::createFromFormat("dmY", "01.01.2010"); $b = DateTime::createFromFormat("dmY", "03.01.2010"); $d = $b->diff($a); var_dump($d->days); // result: int 2
Я запускаю XAMPP для Linux 1.7.3a с PHP 5.3.1 на Linux Mint 10.
Можете ли вы, пожалуйста, рассказать мне ваше точное решение, которое вам нужно …
Я использовал код ниже,
$interval = new DateInterval('P2Y4DT6H8M');
echo $ interval-> d;
он дает o / p как 4
если я так использую,
$interval = new DateInterval('P2Y'); echo $interval->d;
он дает o / p как 0
Таким образом, он вернет день, указанный вами в Dateinterval (), иначе он вернет ноль ..
U скажите мне точные требования, пожалуйста ………. 🙂