如果带有日期的语句在智能 php 中创建

If statment with date create in smart php

我如何在 smarty php 中创建验证,允许在指定日期的 30 天内显示值?

数组中:

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

我不知道什么是理想的字段,但我们可以使用 datecreatednormalisedDateCreated

看起来像这样:

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

您可以使用 $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')}