Jeśli ocena z datą jest tworzona w inteligentnym php
Oct 08 2020
Jak mogę utworzyć walidację w smarty php, pozwalając, aby wartość pojawiła się, jeśli jest w ciągu 30 dni od określonej daty?
W tablicy:
Array (4)
0 => Array (13)
id => 6496
invoicenum => 6496
datecreated => "08/09/2020"
normalisedDateCreated => "2020-09-08"
Nie wiem, jakie byłoby do tego idealne pole, ale możemy użyć datecreatedlub normalisedDateCreated.
Wyglądałoby to mniej więcej tak:
{if $invoice.datecreated ... } if it is more than 30 days from the current date it should display NO
YES
{else}
NO
{/if}
Odpowiedzi
1 DarkKnight Oct 08 2020 at 20:57
Możesz uzyskać bieżącą datę używając, $smarty.nowa następnie odjąć od niej 30 dni.
{if "$smarty.now -30 Days"|date_format:'%Y-%m-%d' < $invoice.normalisedDateCreated}
YES
{else}
NO
{/if}
Ale byłoby to uproszczone, gdyby można było po prostu przekazać inną zmienną z php, która jest 30 dni przed bieżącą datą.
Kolejne rozwiązanie zaproponowane przez @zecaluis
{if strtotime($invoice.normalisedDateCreated) > strtotime('-30 days')}