Feheler beim abspeichern von Datum in DB

  • Hallo,


    Bei meiner selbst entwickelten Komponente (mithilfe des Component Creator erstellt) habe ich ein Problem beim abspeichern von Daten in die Datenbank. Wenn im Fontent oder Backend über das Formular ein neues Element hinzugefügt werden will, wird das Datum aus dem Formularfeld mit Namen "event_date" falsch in die Datenbank übernommen. Es weicht immer ein Tag von der Formulareingabe ab. Mit dem angehängten Request (Request wenn Formular abgesendet wird) wird folgendes Element der Datenbank hinzugefügt:


    Wie zu sehen ist lautet das Datum im Request 2018-09-01 und in der Datenbank landet 2018-08-31.


    Der per request angeforderte Task lautet beim Frontend-Formular meldungform.save und im Backend-Formular meldung.apply.


    Das Query wird im Backend mit der JControllerForm-Class erstellt, denn der angesprochene Controller enthält keine eigene apply-Methode .

    Der Backend Controller:


    Der Frontend Controller hat eine eigene save-Methode:

    Woran könnte das liegen, dass das Datum immer um einen Tag abweicht?

    Hat das mit der Server-Zeit zu tun? Wenn ja, wie kann man das beheben, dass das Datum stimmt?


    Danke im voraus den helfenden...


    Gruss

  • Ich blick da zwar auch kaum durch...


    Bist sicher, dass es immer 1 Tag ist und nicht wegen Zeitzonenverschiebung nur gelegentlich in den vorherigen Tag rutscht?


    Wie ist denn das calendar-Feld in deiner xml-Datei definiert? Oder verwendest gar keins?


    Erinnere mich nur vage, dass das was mit dem filter=-Attribut zu tun haben könnte.

    filter="USER_UTC"

    filter="SERVER_UTC"

    oder keiner.


    Weiß aber nicht mehr, wann wie wo, dass nun Auswirkungen aufs Eintragen bzw. dann Speichern hat.

  • Bist sicher, dass es immer 1 Tag ist und nicht wegen Zeitzonenverschiebung nur gelegentlich in den vorherigen Tag rutscht?

    Bei den bisherigen Versuchen war es immer 1 Tag. Kann schon sein, dass es zufällig wegen der Zeitzonenverschiebung passierte...


    Ja, das Feld wird in einer XML definiert:

    Code
    1. <field name="event_date" class="inputbox" timeformat="24" filter="user_utc" minyear="2000" maxyear="9999" showtime="false" singleheader="false" todaybutton="true" weeknumbers="false" filltable="false" type="calendar" required="true" label="COM_ATTLIST_FORM_LBL_MELDUNG_EVENT_DATE" description="COM_ATTLIST_FORM_DESC_MELDUNG_EVENT_DATE" hint="COM_ATTLIST_FORM_LBL_MELDUNG_EVENT_DATE"/>

    Was ist denn der Unterschied zwischen USER_UTC und FILTER_UTC?