Який найкращий спосіб розрахувати загальну кількість секунд між двома датами? Поки що я пробував щось на зразок:
$delta = $date->diff(new DateTime('now'));
$seconds = $delta->days * 60 * 60 * 24;
Однак daysвластивість об'єкта DateInterval здається порушеною в поточній збірці PHP5.3 (принаймні в Windows він завжди повертає одне і те ж 6015значення). Я також намагався зробити це таким чином, щоб не вдалося зберегти кількість днів у кожному місяці (округлюється до 30), високосний рік тощо:
$seconds = ($delta->s)
+ ($delta->i * 60)
+ ($delta->h * 60 * 60)
+ ($delta->d * 60 * 60 * 24)
+ ($delta->m * 60 * 60 * 24 * 30)
+ ($delta->y * 60 * 60 * 24 * 365);
Але я насправді не задоволений використанням цього напіврозбірного рішення.
formatполягає в тому, що, скажімо, кількість секунд дорівнює 0, а кількість хвилин - 1, $delta->format("%r%s")виявляється 0 :(
$delta->format("%r%s")?