Creates a CFML date object from the given year, month and day.

CreateDate is a subset of CreateDateTime. The time in the returned object is set to 00:00:00.

Returns: datetime


CreateDate( year [, month [, day [, timezone ] ] ] )


Argument Description Default
(number, required)

Integer in the range 0-9999. Integers in the range 0-29 are converted to 2000-2029. Integers in the range 30-99 are converted to 1930-1999. You cannot specify dates before AD 100.

(number, optional)

Integer in the range 1-12


(number, optional)

Integer in the range 1-31


(timezone, optional)

A datetime object is independent of a specific timezone; it is only an offset in milliseconds from 1970-1-1 00.00:00 UTC (Coordinated Universal Time).

The timezone only comes into play when you need specific information like hours in a day, minutes in a hour or which day it is as these calculations depend on the timezone.

A timezone must be specified in order to translate the date object to something else. If you do not provide the timezone in the function call, it will default to the timezone specified in the Lucee Administrator (Settings/Regional), or the timezone specified for the current request using the function setTimezone().

You can find a list of all available timezones in the Lucee administrator (Settings/Regional). Some examples of valid timezones include:

  • AGT (for time in Argentina)
  • Europe/Zurich (for time in Zurich/Switzerland)
  • HST (Hawaiian Standard Time in the USA)


<cfset mydate = createDate(year(now()), month(now()), day(now()))>

The date is #dateFormat(myDate, "dddd, d mmmm yyyy")#.

See also