The Date class provides a basic structure for date and time related information. Date instances can be created by

There are some extra functions available in the DateTools class.

In the context of Haxe dates, a timestamp is defined as the number of milliseconds elapsed since 1st January 1970 UTC.

Supported range

Due to platform limitations, only dates in the range 1970 through 2038 are supported consistently. Some targets may support dates outside this range, depending on the OS at runtime. The Date.fromTime method will not work with timestamps outside the range on any target.

Static methods

@:keep@:keepstaticfromString(s:String):Date

Creates a Date from the formatted string s. The following formats are accepted by the function:

  • "YYYY-MM-DD hh:mm:ss"
  • "YYYY-MM-DD"
  • "hh:mm:ss"

The first two formats expressed a date in local time. The third is a time relative to the UTC epoch.

If s does not match these formats, the result is unspecified.

@:keep@:keepstaticfromTime(t:Float):Date

Creates a Date from the timestamp (in milliseconds) t.

@:has_untyped@:keep@:keepstaticnow():Date

Returns a Date representing the current local time.

Constructor

@:has_untyped@:keep@:keepnew(year:Int, month:Int, day:Int, hour:Int, min:Int, sec:Int)

Creates a new date object from the given arguments.

The behaviour of a Date instance is only consistent across platforms if the the arguments describe a valid date.

  • month: 0 to 11 (note that this is zero-based)
  • day: 1 to 31
  • hour: 0 to 23
  • min: 0 to 59
  • sec: 0 to 59

Methods

@:has_untyped@:keep@:keepgetDate():Int

Returns the day of this Date (1-31 range) in the local timezone.

@:has_untyped@:keep@:keepgetDay():Int

Returns the day of the week of this Date (0-6 range, where 0 is Sunday) in the local timezone.

@:has_untyped@:keep@:keepgetFullYear():Int

Returns the full year of this Date (4 digits) in the local timezone.

@:has_untyped@:keep@:keepgetHours():Int

Returns the hours of this Date (0-23 range) in the local timezone.

@:has_untyped@:keep@:keepgetMinutes():Int

Returns the minutes of this Date (0-59 range) in the local timezone.

@:has_untyped@:keep@:keepgetMonth():Int

Returns the month of this Date (0-11 range) in the local timezone. Note that the month number is zero-based.

@:has_untyped@:keep@:keepgetSeconds():Int

Returns the seconds of this Date (0-59 range) in the local timezone.

@:keep@:keepgetTime():Float

Returns the timestamp (in milliseconds) of this date. On cpp and neko, this function only has a second resolution, so the result will always be a multiple of 1000.0, e.g. 1454698271000.0. To obtain the current timestamp with better precision on cpp and neko, see the Sys.time API.

For measuring time differences with millisecond accuracy on all platforms, see haxe.Timer.stamp.

@:has_untyped@:keep@:keepgetTimezoneOffset():Int

Returns the time zone difference of this Date in the current locale to UTC, in minutes.

Assuming the function is executed on a machine in a UTC+2 timezone, Date.now().getTimezoneOffset() will return -120.

@:has_untyped@:keep@:keepgetUTCDate():Int

Returns the day of this Date (1-31 range) in UTC.

@:has_untyped@:keep@:keepgetUTCDay():Int

Returns the day of the week of this Date (0-6 range, where 0 is Sunday) in UTC.

@:has_untyped@:keep@:keepgetUTCFullYear():Int

Returns the full year of this Date (4 digits) in UTC.

@:has_untyped@:keep@:keepgetUTCHours():Int

Returns the hours of this Date (0-23 range) in UTC.

@:has_untyped@:keep@:keepgetUTCMinutes():Int

Returns the minutes of this Date (0-59 range) in UTC.

@:has_untyped@:keep@:keepgetUTCMonth():Int

Returns the month of this Date (0-11 range) in UTC. Note that the month number is zero-based.

@:has_untyped@:keep@:keepgetUTCSeconds():Int

Returns the seconds of this Date (0-59 range) in UTC.

@:has_untyped@:keep@:keeptoString():String

Returns a string representation of this Date in the local timezone using the standard format YYYY-MM-DD HH:MM:SS. See DateTools.format for other formatting rules.