+ Antworten
Ergebnis 1 bis 8 von 8

Thema: Uhrzeit beim Auslesen falsch

  1. #1
    Neu an Board
    Registriert seit
    23.08.2009
    Beiträge
    11
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Uhrzeit beim Auslesen falsch

    Hi,
    Hab mit der Sufu nichts direktes gefunden.
    Folgende Frage: Ich speicher mittels einer Komponente ein Datum + eine Uhrzeit.
    In der DB steht diese korrekt drin, so, wie ich es haben möchte.
    Doch wenn ich es dann im adminform auslese, dann steht die Uhrzeit immer eine Stunde weiter, als in der DB. Liegt vermutlich an GMT+1? Aber wie kann ich das verhindern, ohne meine Zeitzone zu ändern?

    Datum in der DB:
    24.02.2010 12:25:00

    PHP zum Auslesen:
    PHP-Code:
    <?php echo JHTML::_('date'$row->start"%d.%m.%Y<br>%H:%M"?>
    Ergebnis:
    24.02.2010 13:25

  2. #2
    Wohnt hier Avatar von Kubik-Rubik
    Registriert seit
    20.10.2005
    Ort
    Kubik-Rubik.de
    Beiträge
    2.737
    Bedankte sich
    177
    Erhielt 1.059 Danksagungen
    in 793 Beiträgen

    Standard

    Schau dir doch mal die Dokumentation an - http://api.joomla.org/Joomla-Framewo...HTML.html#date

    Versuche es mal mit:
    PHP-Code:
    <?php echo JHTML::_('date'$row->start"%d.%m.%Y<br>%H:%M", -1?>
    Gruß
    Joomla! Extensions by Kubik-Rubik.de
    Keine Beantwortung von Supportanfragen per PN

    Joomla! braucht Dich!

  3. #3
    Hat hier eine Zweitwohnung
    Registriert seit
    14.01.2006
    Ort
    Nienburg
    Alter
    32
    Beiträge
    1.237
    Bedankte sich
    115
    Erhielt 471 Danksagungen
    in 368 Beiträgen

    Standard

    das datum ohne offset in die datenbank speichern. benutz dafuer am besten die datetime schreibweise 0000-00-00 00:00:00. auslesen bzw darstellen wie jetzt auch mit jhtml date.
    intern berechnet jhtml date bereits den offset der in der config eingestellt ist hinzu. so ist fuer jede webseite die uhrzeit gleich, egal aus welcher zeitzone. wie du dann die uhrzeit fuer die darstellung entsprechend formatierst, weisst du ja bereits.

  4. #4
    Neu an Board
    Registriert seit
    23.08.2009
    Beiträge
    11
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hi,

    Danke für eure Tipps.

    Versuche es mal mit:
    <?php echo JHTML::_('date', $row->start, "%d.%m.%Y<br>%H:%M", -1) ?>
    Hat leider nicht geklappt. Die Ausgabe ist dann eine Stunde vorher *g*
    Also in der DB steht z.B. 9 Uhr und in der Ausgabe dann 8 Uhr.

    das datum ohne offset in die datenbank speichern. benutz dafuer am besten die datetime schreibweise 0000-00-00 00:00:00
    Hab nun in der DB stehen: 2010-02-24 09:10:00
    Ändert aber leider nichts an der Ausgabe. Diese bleibt gleich.
    Oder was genau meintest du mit "ohne offset" speichern? (Ist meine erste Komponente ;-))

  5. #5
    Neu an Board
    Registriert seit
    23.08.2009
    Beiträge
    11
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Kleine Korrektur:
    Wenn ich

    <?php echo JHTML::_('date', $row->start, "%d.%m.%Y<br>%H:%M", 0) ?>

    benutze, wird es richtig angezeigt.

  6. #6
    Wohnt hier Avatar von Kubik-Rubik
    Registriert seit
    20.10.2005
    Ort
    Kubik-Rubik.de
    Beiträge
    2.737
    Bedankte sich
    177
    Erhielt 1.059 Danksagungen
    in 793 Beiträgen

    Standard

    Ja, die 0 war's...

    Gruß
    Joomla! Extensions by Kubik-Rubik.de
    Keine Beantwortung von Supportanfragen per PN

    Joomla! braucht Dich!

  7. #7
    Neu an Board
    Registriert seit
    23.08.2009
    Beiträge
    11
    Bedankte sich
    1
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Daumen hoch Gelöst

    Wunderbar.
    Dann wäre damit mein Problem wohl gelöst

    Danke.

  8. #8
    Hat hier eine Zweitwohnung
    Registriert seit
    14.01.2006
    Ort
    Nienburg
    Alter
    32
    Beiträge
    1.237
    Bedankte sich
    115
    Erhielt 471 Danksagungen
    in 368 Beiträgen

    Standard

    die null waere der "override" der default variable fuer jhtml date offset. dieser entspricht bereits null, also keinem alternativen offset als der, der in der config eingestellt wurde.

    wenn man ein datum holt, beispielsweise ueber JFactory::getDate(); wird die server zeit unabhaengig des in joomla eingestellten offset werts verwendet und sollte so auch gespeichert werden. z.b erstellungsdatum eines "artikels" in einer eigenen komponente.

    beim spaeteren auslesen / formatieren dieser zeit kann dann jhtml date verwendet werden, was intern das gleiche macht wie:
    PHP-Code:
    <?php

    //
    $application JFactory::getApplication();

    //
    $offset $application->getCfg'offset' )

    /**
     *
     *  alternative
     *  $config = JFactory::getConfig();
     *  $offset = $config->getValue( 'config.offset' );
     *
    **/

    //
    $date JFactory::getDate();
    $date->setOffset$offset );

    //
    $date->toFormat();

    ?>
    in php 5 koennte man es noch kuerzer schreiben, was ich damit aber eigentilch nur sagen wollte ist: datum holen => speichern, mit jhtml date oder der oben gezeigten alternative verarbeite. immer aber den offset mit einbeziehen. natuerlich bietet sich hier jhtml date an. ich glaube es war nur noch nicht ganz klar was intern ueberhaupt passiert und wie wo was es mit dem offset aufsich hat.

    weitere informationen:
    http://wiki.joomla-nafu.de/joomla-do...actory/getDate
    http://wiki.joomla-nafu.de/joomla-do...ork/JHtml/date

+ Antworten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein