Если статус с датой создать в smart php
Oct 08 2020
Как я могу создать в smarty php проверку, позволяющую отображать значение, если оно находится в пределах 30 дней от указанной даты?
В массиве:
Array (4)
0 => Array (13)
id => 6496
invoicenum => 6496
datecreated => "08/09/2020"
normalisedDateCreated => "2020-09-08"
Я не знаю, какое поле для этого было бы идеальным, но мы можем использовать datecreatedили normalisedDateCreated.
Это выглядело бы примерно так:
{if $invoice.datecreated ... } if it is more than 30 days from the current date it should display NO
YES
{else}
NO
{/if}
Ответы
1 DarkKnight Oct 08 2020 at 20:57
Вы можете получить текущую дату, используя, $smarty.nowа затем вычесть из нее 30 дней.
{if "$smarty.now -30 Days"|date_format:'%Y-%m-%d' < $invoice.normalisedDateCreated}
YES
{else}
NO
{/if}
Но это можно было бы упростить, если бы можно было просто передать другую переменную из php, которая за 30 дней до текущей даты.
Другое решение, предложенное @zecaluis
{if strtotime($invoice.normalisedDateCreated) > strtotime('-30 days')}