Si la déclaration avec la date crée en PHP intelligent

Oct 08 2020

Comment puis-je créer une validation dans smarty php, permettant à la valeur d'apparaître si elle est dans les 30 jours suivant la date spécifiée?

Dans le tableau:

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

Je ne sais pas quel serait le champ idéal pour cela, mais nous pouvons utiliser datecreatedou normalisedDateCreated.

Cela ressemblerait à quelque chose comme ceci:

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

Réponses

1 DarkKnight Oct 08 2020 at 20:57

Vous pouvez obtenir la date actuelle en utilisant $smarty.now, puis en soustraire les jours 30.

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

Mais cela serait simplifié si vous pouviez simplement passer une autre variable de php qui est 30 jours avant la date actuelle.

Une autre solution proposée par @zecaluis

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