Akıllı php'de tarih içeren ifade oluştur

Oct 08 2020

Smarty php'de, belirtilen tarihten itibaren 30 gün içinde değerin görünmesine izin veren bir doğrulama oluşturabilirim?

Dizide:

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

Bunun için ideal alanın ne olacağını bilmiyorum ama datecreatedveya kullanabiliriz normalisedDateCreated.

Şuna benzer bir şey olurdu:

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

Yanıtlar

1 DarkKnight Oct 08 2020 at 20:57

Kullanarak güncel tarihi alabilir $smarty.nowve 30. günleri bundan çıkarabilirsiniz.

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

Ancak mevcut tarihten 30 gün önce olan php'den başka bir değişken geçirebilirse basitleşecektir.

@Zecaluis tarafından önerilen başka bir çözüm

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