En fait, je rencontre un problème d'utilisation de JDate.
Joomla a une classe JDate pour la gestion des dates. J'ai testé le code suivant:
$date = new JDate('2017-07-28 00:00:00');
$timestamp_jdate = $date->toUnix();
$timestamp = strtotime('2017-07-28 00:00:00');
Je m'attendais à ce que $ timestamp_jdate et $ timestamp donnent le même résultat, mais voici les résultats que j'ai obtenus: $ timestamp_jdate = 1501200000 $ timestamp = 1501192800
Est-ce que j'ai fait quelque chose de mal? Comment puis-je le réparer?
J'ai vu dans l'API que le constructeur JDate peut avoir un deuxième paramètre $ tz mais il n'est pas bien documenté, alors je dois peut-être définir ce paramètre?
Toute aide serait reconnaissante :-)
$ tz est le fuseau horaire. Après avoir défini le fuseau horaire par défaut du système, les 2 horodatages correspondent! Par défaut, le fuseau horaire sur Joomla est UTC. Le fuseau horaire de mon système était 'Europe/Berlin'.
J'espère que cela aide d'autres personnes.
Laissez Joomla! s'occupe de tout pour toi.
$date = JFactory::getDate('2017-07-28 00:00:00');
$unixDate = $date->toUnix();
Ou
$date = new JDate(JHtml::date('2017-07-28 00:00:00', 'Y-m-d H:i:s'));
$unixDate = $date->toUnix();