Wenn Angabe mit Datum in Smart PHP erstellen

Oct 08 2020

Wie kann ich eine Validierung in smarty php erstellen, damit der Wert angezeigt wird, wenn er innerhalb von 30 Tagen nach dem angegebenen Datum liegt?

Im Array:

Array (4)
0 => Array (13)
  id => 6496
  invoicenum => 6496
  datecreated => "08/09/2020"
  normalisedDateCreated => "2020-09-08"

Ich weiß nicht, was das ideale Feld dafür wäre, aber wir können datecreatedoder verwenden normalisedDateCreated.

Es würde ungefähr so ​​aussehen:

{if $invoice.datecreated ... } if it is more than 30 days from the current date it should display NO
    YES
{else}
    NO
{/if}

Antworten

1 DarkKnight Oct 08 2020 at 20:57

Sie können das aktuelle Datum mit abrufen $smarty.nowund dann die Tage 30 davon abziehen.

{if "$smarty.now -30 Days"|date_format:'%Y-%m-%d' < $invoice.normalisedDateCreated}
    YES
{else}
    NO
{/if}

Es wäre jedoch vereinfacht, wenn nur eine andere Variable von PHP übergeben werden könnte, die 30 Tage vor dem aktuellen Datum liegt.

Eine weitere von @zecaluis vorgeschlagene Lösung

{if strtotime($invoice.normalisedDateCreated) > strtotime('-30 days')}