comment calculer la différence entre deux Zend_Date les objets, dans le mois
J'ai deux objets de Zend_Date
classe et je veux calculer la différence entre eux dans les mois civils complets.. Comment puis-je faire cela?
<?php
$d1 = new Zend_Date('1 Jan 2008');
$d2 = new Zend_Date('1 Feb 2010');
$months = $d1->sub($d2)->get(Zend_Date::MONTH);
assert($months == -25); //failure here
Merci d'avance!
- Je suis penser que, puisque la valeur retournée est probablement un Zend_Date la
$months
var ne sera jamais plus de 12 ... (ou 11, si elle est de 0 basée)
Vous devez vous connecter pour publier un commentaire.
Si j'ai lu les docs correctement, il n'y a pas mis en œuvre les fonctionnalités pour obtenir la différence entre 2 dates en quelques secondes/minutes/.../mois/années, de sorte que vous aurez besoin de calculer vous-même. Quelque chose comme cela va faire (je ne sais pas si cela prend des années bissextiles, l'heure d'été et un tel en considération):
Avec l'aide de Zend_Measure_Time vous pouvez facilement obtenir une différence que vous souhaitez:
Pas besoin de calculs compliqués!
Pour ceux qui cherchent à obtenir une sympathique sortie (jours, heures, minutes, secondes) je partage mon code ici:
Suffit d'appeler ce quelque chose comme comme:
Merci, votre réponse m'a aidé à résoudre le problème robertbasic, c'est ce que j'ai utilisé pour résoudre mon code:
Vous pouvez l'obtenir à l'aide de formule simple:
J'ai l'habitude de le faire en prenant la différence entre les deux Zend Dates, mais c'est très complexe comme Elzo Valugi, à juste titre, les remarques ci-dessus. Mieux utiliser l'approche humaine. Votre âge en années est la différence entre l'année des deux parties des dates si votre jour de naissance a déjà été, si pas, un an de moins. Quelque chose de semblable peut être fait avec les mois.