Se la dichiarazione con la data viene creata in smart php

Oct 08 2020

Come posso creare una convalida in smarty php, consentendo la visualizzazione del valore se è entro 30 giorni dalla data specificata?

In array:

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

Non so quale sarebbe il campo ideale per questo, ma possiamo usare datecreatedo normalisedDateCreated.

Sarebbe simile a questo:

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

Risposte

1 DarkKnight Oct 08 2020 at 20:57

È possibile ottenere la data corrente utilizzando $smarty.nowe quindi sottrarre i giorni 30 da quella.

{if "$smarty.now -30 Days"|date_format:'%Y-%m-%d' < $invoice.normalisedDateCreated}
    YES
{else}
    NO
{/if}

Ma sarebbe semplificato se si potesse semplicemente passare un'altra variabile da php che è 30 giorni prima della data corrente.

Un'altra soluzione proposta da @zecaluis

{if strtotime($invoice.normalisedDateCreated) > strtotime('-30 days')}