Met de strtotime modifier is het mogelijk om een uitgeschreven datum en tijd om te zetten naar een Unix timestamp, dit maakt het mogelijk om deze te vergelijken met andere datums.  

strtotime

{{"2023-07-01"|strtotime}} 
{{"2023-07-01 13:12:09"|strtotime}} 

Voorbeelden

Hieronder een aantal voorbeelden, waarbij de $smarty.now standaard een Unix timestamp is; 

strtotime

{{"2023-07-01"|strtotime}} 
{{"2023-07-01 13:12:09"|strtotime}} 
{{$smarty.now}} (2023-07-03 19:48:46)
{{'first day of this month'|strtotime}}


Uitkomst

1688162400 (2023-07-01 00:00:00)
1688209929 (2023-07-01 13:12:09)
1688406526 (2023-07-03 19:48:46)
1688162400 (2023-07-01 00:00:00)

* In het bovenstaand voorbeeld is ook te zien dat als alleen een datum wordt aangeleverd, dat standaard de volgende tijd wordt gehanteerd: 00:00:00


Hieronder een voorbeeld met een vergelijking van 2 datums met behulp van een if-statement:

strtotime met if-statement

{{$date1 = "2023-01-01"}}
{{$date2 = "2023-06-24"}}

{{if $string1|strtotime < $date2|strtotime}}
Datum 1 is eerder dan datum 2
{{else}}
Datum 2 is eerder dan datum 1
{{/if}}


{{$date3 = "2023-06-24 01:00:00"}}
{{$date4 = "2023-06-24"}}

{{if $string3|strtotime < $date4|strtotime}}
Datum 3 is eerder dan datum 4
{{else}}
Datum 4 is eerder dan datum 3
{{/if}}


Uitkomst:

Datum 1 is eerder dan datum 2
Datum 4 is eerder dan datum 3

Een strtotime in combinatie met een date_format_locale:

strtotime met date_format_locale

{{'first day of this month'|strtotime|date_format_locale:'nl-NL':'MMMM'}} 
{{'first day of this month'|strtotime|date_format_locale:'en-EN':'MMMM'}}


Uitkomst:

juli (2023-07-01)
July (2023-07-01)


Hieronder een voorbeeld met een bestaande datum waarbij 10 dagen opgeteld moeten worden:

Bestaande datum ophogen

{{$existingDate = "2023-10-12"}}
        
{{* Tel 10 dagen erbij op bij de unix timestamp *}}
{{$newDateUnix = $existingDate|strtotime+24*60*60*10}}
{{$newDateUnix|date_format:"%d-%m-%Y"}} 22-10-2023
        
{{* Tel 10 dagen erbij op basis van een tekst *}}
{{$newDate = "$existingDate + 10 days"|strtotime|date_format:"%d-%m-%Y"}}
{{$newDate}} 22-10-2023