web-dev-qa-db-fra.com

JFactory :: getDate () décalages horaires

Pour cette question, je dis "compensations" mais je ne parle pas vraiment de fuseaux horaires. Ce que je recherche, c’est un décalage de droit "maintenant" à 1 jour, 1 semaine ou 1 mois et plus dans le passé.

http://docs.joomla.org/JFactory/getDate

Dans la documentation, il montre un décalage de fuseau horaire qui peut être un entier, ce qui me permet de fonctionner, mais transmettre une valeur nulle ou fausse pour la première semble donner lieu à un problème. Je pourrais également transmettre un objet de date par défaut, mais cela semble tirer profit de l’utilisation de l’API.

Donc, ce que je veux faire est un peu comme suit.

$now = JFactory::getDate();
$now->minusOffset(24 HOURS);
$query->where('created >= \'$now->toMySQL()\'');

Y a-t-il un moyen facile de faire ceci? Ou est-il préférable de convertir un objet de date php normal en getDate? Jusqu'à présent, ma recherche n'a rien révélé.

1
Jordan Ramstad

JDate étend simplement la classe DateTime afin que vous puissiez utiliser tout ce qui est disponible pour DateTime .

quelque chose comme ca:

$yesterday = JFactory::getDate('now -1 day');

ou utilisez modify ()

$now = JFactory::getDate();
$now->modify('-1 day');
2
Fedik