it-swarm.com.de

Verwende ich das JDate richtig?

Tatsächlich stoße ich auf ein Problem mit der Verwendung von JDate.

Joomla hat eine Klasse JDate zum Verwalten von Daten. Ich habe folgenden Code getestet:

$date = new JDate('2017-07-28 00:00:00');
$timestamp_jdate = $date->toUnix();
$timestamp = strtotime('2017-07-28 00:00:00');

Ich hatte erwartet, dass $ timestamp_jdate und $ timestamp dasselbe Ergebnis zurückgaben, aber dies sind die Ergebnisse, die ich erhalten habe: $ timestamp_jdate = 1501200000 $ timestamp = 1501192800

Habe ich etwas falsch gemacht? Wie kann ich es reparieren?

Ich habe in der API gesehen, dass der JDate-Konstruktor einen zweiten Parameter $ tz haben kann, aber er ist nicht gut dokumentiert, also muss ich diesen Parameter vielleicht einstellen?

Jede Hilfe wäre dankbar :-)

1
titchagcreation

$ tz ist die Zeitzone. Nachdem Sie die Zeitzone des Standardsystems eingestellt haben, stimmen die beiden Zeitstempel überein! Standardmäßig ist die Zeitzone in Joomla UTC. Meine Systemzeitzone war 'Europa/Berlin'.

Hoffe das hilft anderen Leuten.

3
titchagcreation

Lass Joomla! kümmere dich um Sachen für dich.

$date = JFactory::getDate('2017-07-28 00:00:00');
$unixDate = $date->toUnix();

Oder

$date = new JDate(JHtml::date('2017-07-28 00:00:00', 'Y-m-d H:i:s'));
$unixDate = $date->toUnix();
1
Nagarjun