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')}