Quelle est la meilleure façon de calculer le nombre total de secondes entre deux dates? Jusqu'à présent, j'ai essayé quelque chose du genre:
$delta = $date->diff(new DateTime('now'));
$seconds = $delta->days * 60 * 60 * 24;
Cependant, la days
propriété de l'objet DateInterval semble être cassée dans la version actuelle de PHP5.3 (au moins sous Windows, elle renvoie toujours la même 6015
valeur). J'ai également essayé de le faire d'une manière qui ne permettrait pas de conserver le nombre de jours dans chaque mois (tours à 30), les années bissextiles, etc.
$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);
Mais je ne suis vraiment pas content d'utiliser cette solution à moitié folle.
format
c'est quand disons que le nombre de secondes est 0 alors que le nombre de minutes est 1, $delta->format("%r%s")
se révèle être 0 :(
$delta->format("%r%s")
?