Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在智能php中创建带有日期的语句_Php_Laravel_Smarty_Smarty3 - Fatal编程技术网

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

如果在智能php中创建带有日期的语句,php,laravel,smarty,smarty3,Php,Laravel,Smarty,Smarty3,如何在smarty php中创建验证,允许在指定日期的30天内显示值 阵列中: Array (4) 0 => Array (13) id => 6496 invoicenum => 6496 datecreated => "08/09/2020" normalisedDateCreated => "2020-09-08" 我不知道什么是最理想的字段,但我们可以使用datecreated或normalisedD

如何在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}

是否确实要在模板中执行此操作?对你有帮助吗?嗯。。不,因为他有两个特定的日期,我需要从当前日期开始间隔30天。您可以使用DateTime类和
diff()
方法-
if((新日期时间)->diff(新日期时间($invoice['normalisedDateCreated'))->days>30)
@Qirel不使用smarty php。“不工作”太模糊了,无法帮助排除故障。这确实有效,它的原生PHP。如果没有任何错误消息,就不可能说出它“不工作”的原因。也许它应该是
$invoice[0]['normalisedDateCreated']
,但这是基本的PHP,我希望你至少尝试找出什么不起作用。他的答案是这样的:
{如果“$smarty.now-30天”| date_格式:'%Y-%m-%d'<$invoice.normalisedDateCreated}
伟大的朋友,再次帮助我。。在您插入答案之前,我找到了另一个解决方案:
{if strottime($invoice.normalisedDateCreated)>strottime('-30天')}
很好,谢谢您指出
if
关键字缺失。还更新了比较运算符。比较的符号也是相反的,正确的符号是:
兄弟,你不知道我在另一个问题中做了什么,如果你想知道最终结果如何,我在聊天中给你发了一封打印信。哈哈,再次感谢。。
{if strtotime($invoice.normalisedDateCreated) > strtotime('-30 days')}