# Rabatte & Aktionen: Datum wird nicht korrekt erkannt

**URL:** <https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088>\
**Category:** Allgemein\
**Created:** [23. November 2020 um 11:28 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088 "2020-11-23T11:28:43Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![\_marco](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/_marco/32/8582_2.png) [@\_marco](https://forum.shopware.com/u/_marco)\
**Post date:** [23. November 2020 um 11:28 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088/1 "2020-11-23T11:28:43Z")

</div>

Hallo.

Ich habe im Backend eine Promotion Aktion mit Startdatum 2020-11-23 12:00 angelegt. Leider wird diese, aufgrund der Uhrzeit, nicht aktiviert obwohl der Starttermin eigentlich seit einer halben Stunden erreicht sein sollte. Stelle ich das Datum auf 2020-11-23 00:00 geht es.

Hat jemand eine Lösung für dieses Problem?

---

<div class="post-metadata">

**Author:** ![anon62955814](https://avatars.discourse-cdn.com/v4/letter/a/87869e/32.png) [@anon62955814](https://forum.shopware.com/u/anon62955814)\
**Post date:** [23. November 2020 um 12:00 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088/2 "2020-11-23T12:00:26Z")

</div>

Ich habe das gleiche Problem mit den Zeiten:

> **[Marketing - Rabatte: Unterschiedliche Uhrzeiten](https://forum.shopware.com/discussion/73142/marketing-rabatte-unterschiedliche-uhrzeiten#latest)**
>
> Hallo, ich habe eine Rabattaktion gemacht unter “Marketing”, jetzt fällt mir auf auf der Übersichtsseite habe ich eine andere Uhrzeit (eine Stunde verschoben), als in der Aktion dann selber. Kann es sein, das das der Server ist, der da muckt?

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [23. November 2020 um 15:52 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088/3 "2020-11-23T15:52:19Z")

</div>

Ich denke das Problem ist, dass die Datenbank immer UTC speichert, der Admin das dann aber für die Anzeige umrechnet.

Vielleicht wurde das beim Promotion-Modul nicht bedacht? Ihr könntet ja testen, ob das immer mit der UTC Zeit passt.

---

<div class="post-metadata">

**Author:** ![laurentius](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@laurentius](https://forum.shopware.com/u/laurentius)\
**Post date:** [23. November 2020 um 16:17 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088/4 "2020-11-23T16:17:05Z")

</div>

> [@Moritz Naczenski schrieb:](https://forum.shopware.com/profile/14574/Moritz%20Naczenski "Moritz%20Naczenski")
> 
> Ich denke das Problem ist, dass die Datenbank immer UTC speichert, der Admin das dann aber für die Anzeige umrechnet.
> 
> Vielleicht wurde das beim Promotion-Modul nicht bedacht? Ihr könntet ja testen, ob das immer mit der UTC Zeit passt.  
> &nbsp;

Bei einem Projekt ist mir das auch aufgefallen. Der Gutscheincode wird für den z.B. 23.11.2020 nur dann aktiv, wenn angeben ist 2020-11-23 00:00 . Trägt man z.B. 2020-11-23 00:05 ein, so kann er den ganzen Tag nicht eingelöst werden. Ein einlösen ist dann erst am 24.11.2020 möglich. Bzgl. der Zeitdiffrenz von UTC habe ich diese auch einmal mit einberechnet. Was aber auch nach mehren Stunden zu keinem Erfolg führt.

Da ich die Vermutung hatte, das es evtl. durch Scheduled Task aktiviert werden muss, habe ich einmal eine Testinstanz eingerichtet und die Scheduled Task per Cronjob dauerhaft laufen lassen. Dort ist die Symtomatik aber auch identisch.

Auch die Verschiebung (um eine Stunde) der Darstellung in der Übersicht, tritt bei mir ein. Interessant dabei ist, das von der Shop API, das richtige Datum (z.B. 00:00) übermittelt wird und erst im Browser dann um eine Stunde erhöht wird (also 01:00).

Gruß

laurentius

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [23. November 2020 um 18:25 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088/5 "2020-11-23T18:25:14Z")

</div>

Ja, wie gesagt die Datenbank kennt nur UTC, alles andere macht die UI. Also die Konvertierung übernimmt der Admin, von der Datenbank/API&nbsp;sollte die Zeit immer in UTC zurück kommen.

Am besten mal nachschauen was in der Datenbank als Zeit bei der Rule gespeichert wird,

---

<div class="post-metadata">

**Author:** ![laurentius](https://avatars.discourse-cdn.com/v4/letter/l/e9bcb4/32.png) [@laurentius](https://forum.shopware.com/u/laurentius)\
**Post date:** [23. November 2020 um 21:31 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088/6 "2020-11-23T21:31:26Z")

</div>

> [@Moritz Naczenski schrieb:](https://forum.shopware.com/profile/14574/Moritz%20Naczenski "Moritz%20Naczenski")
> 
> Ja, wie gesagt die Datenbank kennt nur UTC, alles andere macht die UI. Also die Konvertierung übernimmt der Admin, von der Datenbank/API&nbsp;sollte die Zeit immer in UTC zurück kommen.
> 
> Am besten mal nachschauen was in der Datenbank als Zeit bei der Rule gespeichert wird,

Moritz, so ganz verstehe ich glaube ich nich was du sagen willst. Kann es sein, das du dich mit diesem Kommentar nur auf die Darstellung - des Datums - auf der Übersichtsseite von „Rabatte & Aktionen“ bezeihst?

Wegen dem Problem, das der Gutscheincode nicht als gültig erkannt wird, wenn zwar der Tag im Gültigkeitszeitraum liegt, aber zu sätzlich noch eine Uhrzeit angeben ist, die nicht 0 Uhr ist. Habe ich in einem Testshop (SW 6.3.3.1, nur SW Demo Plugin) mal ein Gutschein angelegt. In deisem Testshop werden die Scheduled Task dauerhaft per Corenjob (neuer Aufruf alle 5 Minuten, mit Timeout 4.5 Minuten) ausgeführt.

**Dieser hat folgende Einstellungen:**

_Aktiv_: ja  
_Verkaufskanäle_: Demo Shop  
_Gültig von_: 2020-11-23 12:00  
_Gültig bis_: 2020-11-25 12:00  
_Anzahl insgesamt_: 0  
_Anzahl pro Kunde_: 0  
_Nicht kombinieren mit_: leer  
_Aktionscodes verwenden_: ja  
_Allgemeiner Aktionscode_: datumtext

&nbsp;

**Und folgende Bedingungen:**

_Zielgruppe:_ All customers  
_Warenkorbregeln:_ Always vaild (Default)  
_Bestellregeln:_ All customers

&nbsp;

**Mit folgenden Rabatt:**

_Anwenden auf:_ Warenkorb  
_Nur auf ausgewählte Produkte anwenden:_ nein  
_Art:_ Prozentual  
_Wert:_ 10  
_Maximaler Rabattwert:_ leer

&nbsp;

**Wenn ich nun in die Tabelle _promotion_ gucke, habe ich folgenden Eintrag:**  
_id:_ 0xDEFD89DEF8694F77B53E0BF3B84F8065  
_active:_ 1  
_valid\_from:_ 2020-11-23 12:00:00  
_valid\_until:_ 2020-11-25 12:00:00  
_max\_redemptions\_global:_ 0  
_max\_redempitons\_per\_customer:_ 0  
_order\_count:_ 0  
_order\_per\_customer\_count:_ NULL  
_exclusive:_ 0  
_code:_ datumtest  
_use\_codes:_ 1  
_created\_at:_ 2020-11-23 20:26:09.582  
_updated\_at:_ 2020-11-23 20:27:12-986  
_customer\_restriction:_ 0  
_exclusion\_ids:_ NULL  
_use\_individual\_codes_: 0  
_individual\_code\_pattern:_ NULL  
_use\_setgroups:_ 0

Wenn ich jetzt (22:25 UTC+2) den Code „datumtest“ auf einen gefüllten Warenkorb im Verkaufskanal Demo Shop ausführe. Erhalte ich die folgende Meldung: _Der Gutschein-Code „datumtest“ existiert nicht_. , woraus ich schließe das der Gutscheincode noch nicht aktiv ist. Aber eigentlich müsste der Gutscheincode doch ab 23.11.2020 um 12 UTC (also 14 Uhr unsere Zeit) aktiv sein? Somit müssten wir ja ein Fehler bei der Validierung haben, da 22 Uhr \> 14 Uhr ? Oder über sehe ich etwas?

Gruß

laurentius

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [24. November 2020 um 05:57 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088/7 "2020-11-24T05:57:31Z")

</div>

Mit den scheduled Tasks hat das nichts zu tun, die kannst du ignorieren und die müssen dafür auch nicht laufen.

Die Daten werden so gespeichert, wie sie im Admin angegeben werden. Das habe ich mal gerade nachvollzogen. Also mit einer Rule im Datumsformat geht es schon mal auf jeden Fall, die kann man ja auch als Bedingung für einen Rabatt nutzen. Dort muss man die Zeit die man angibt nur minus einer Stunde rechnen, da halt UTC Zeit hinterlegt wird.&nbsp;

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/c/c3fdb36eb6d9067a35d9b24bb12740b14f39bee2.png)

Also hier wird die Rule bspw. um 6:00 gültig (UTC 5:00). Das ist ein Bug bei den Rules, eigentlich müsste der Admin das passend umkonvertieren, damit der User davon nichts mitbekommt. Dazu haben wir schon ein Ticket.

Die Validation direkt bei den Promotions scheint in der Tat nicht zu funktionieren. Also würde ich empfehlen vorerst die Rules zu nutzen, damit funktioniert das. Gerne auch einen Issuetracker-Eintrag zu dem Promotions-Modul aufmachen: [issues.shopware.com](http://issues.shopware.com)

&nbsp;

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![\_marco](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/_marco/32/8582_2.png) [@\_marco](https://forum.shopware.com/u/_marco)\
**Post date:** [26. November 2020 um 06:21 UTC](https://forum.shopware.com/t/rabatte-aktionen-datum-wird-nicht-korrekt-erkannt/71088/8 "2020-11-26T06:21:47Z")

</div>

Hi Moritz.

Ich hatte das über den Rulebuilder so eingestellt und die Regel dann der Promotion Aktion zugewiesen. Datum und Uhrzeit wurden dann auch korrekt im Frontend erkannt und die Promotion Aktion angezeigt. Jetzt haben wir festgestellt, dass Bestellungen mit PayPal mit dem Fehler abbrechen: Es ist etwas schief gelaufen.

Ein Blick ist Lofile zeigt mir diese Fehlermeldung hier an:

```
[2020-11-26 05:58:12] request.ERROR: Uncaught PHP Exception Shopware\Core\Framework\DataAbstractionLayer\Write\WriteException: "There are 1 error(s) while writing data. 1. [/0/lineItems/1/0/lineItems/1/filter/orContainer/andContainer/orContainer/andContainer/fromDate] Dieser Wert entspricht keiner gültigen Datums- und Zeitangabe. 2. [/0/lineItems/1/0/lineItems/1/filter/orContainer/andContainer/orContainer/andContainer/toDate] Dieser Wert entspricht keiner gültigen Datums- und Zeitangabe." at /home/brainstation/sw/lianoa/vendor/shopware/core/Framework/DataAbstractionLayer/Write/WriteContext.php line 41 {"exception":"[object] (Shopware\\Core\\Framework\\DataAbstractionLayer\\Write\\WriteException(code: 0): There are 1 error(s) while writing data.\n\n1. [/0/lineItems/1/0/lineItems/1/filter/orContainer/andContainer/orContainer/andContainer/fromDate] Dieser Wert entspricht keiner gültigen Datums- und Zeitangabe.\n2. [/0/lineItems/1/0/lineItems/1/filter/orContainer/andContainer/orContainer/andContainer/toDate] Dieser Wert entspricht keiner gültigen Datums- und Zeitangabe. at /home/brainstation/sw/lianoa/vendor/shopware/core/Framework/DataAbstractionLayer/Write/WriteContext.php:41)"} []

```

Habe es mit Datetime und nur Date im Rulebuilder getestet. Die Rule ist zusätzlich zum Datum noch so eingestellt, dass bestimmte Kategorien ausgeschlossen werden.  
Ne Idee woran das Problem liegen kann?
