如果带有日期的语句在智能 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"
我不知道什么是理想的字段,但我们可以使用 datecreated
或 normalisedDateCreated
。
看起来像这样:
{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')}
我如何在 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}
您可以使用 $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')}