API / Js / Date

You are currently looking at the v9.0.0 docs (Reason v3.6 syntax edition). You can find the latest API docs here.

Date

Provide bindings to JS date. (See Date on MDN.) JavaScript stores dates as the number of milliseconds since the UNIX epoch, midnight 1 January 1970, UTC.

In these examples, we will be using this date:

RES
let exampleDate = Js.Date.fromFloat(123456654321.0)

which is Thu, 29 Nov 1973 21:30:54 GMT. There is no particular significance to this date. The code used to access this date is running in the Europe/Austria time zone with the en_US.utf8 locale.

In all of these functions, month values are in the range 0-11, where January is month zero.

t

RES
type t

valueOf

RES
let valueOf: t => float

Returns the primitive value of this date, equivalent to getTime(). (See Date.valueOf on MDN.)

RES
Js.Date.valueOf(exampleDate) == 123456654321.0

make

RES
let make: unit => t

Returns a date representing the current time. See Date() Constructor on MDN.

RES
let now = Js.Date.make()

fromFloat

RES
let fromFloat: float => t

Returns a date representing the given argument, which is a number of milliseconds since the epoch. See Date() Constructor on MDN.

RES
Js.Date.fromFloat(123456654321.0) == exampleDate

fromString

RES
let fromString: string => t

Returns a Js.Date.t represented by the given string. The string can be in “IETF-compliant RFC 2822 timestamps, and also strings in a version of ISO8601.” Returns NaN if given an invalid date string. According to the Date() Constructor documentation on MDN, its use is discouraged.

RES
Js.Date.fromString("Thu, 29 Nov 1973 21:30:54.321 GMT") == exampleDate Js.Date.fromString("1973-11-29T21:30:54.321Z00:00") == exampleDate Js.Date.fromString("Thor, 32 Lok -19 60:70:80 XYZ") // returns NaN

makeWithYM

RES
let makeWithYM: (~year: float, ~month: float, unit) => t

Returns a date representing midnight of the first day of the given month and year in the current time zone. Fractional parts of arguments are ignored. See Date() Constructor on MDN.

RES
let november1 = Js.Date.makeWithYM(~year=2020.0, ~month=10.0, ())

makeWithYMD

RES
let makeWithYMD: (~year: float, ~month: float, ~date: float, unit) => t

Returns a date representing midnight of the given date of the given month and year in the current time zone. Fractional parts of arguments are ignored. See Date() Constructor on MDN.

makeWithYMDH

RES
let makeWithYMDH: (~year: float, ~month: float, ~date: float, ~hours: float, unit) => t

Returns a date representing the given date of the given month and year, at zero minutes and zero seconds past the given hours, in the current time zone. Fractional parts of arguments are ignored. See Date() Constructor on MDN. Fractional parts of the arguments are ignored.

makeWithYMDHM

RES
let makeWithYMDHM: ( ~year: float, ~month: float, ~date: float, ~hours: float, ~minutes: float, unit, ) => t

Returns a date representing the given date of the given month and year, at zero seconds past the given time in hours and minutes in the current time zone. Fractional parts of arguments are ignored. See Date() Constructor on MDN.

makeWithYMDHMS

RES
let makeWithYMDHMS: ( ~year: float, ~month: float, ~date: float, ~hours: float, ~minutes: float, ~seconds: float, unit, ) => t

Returns a date representing the given date of the given month and year, at the given time in hours, minutes, and seconds in the current time zone. Fractional parts of arguments are ignored. See Date() Constructor on MDN.

RES
Js.Date.makeWithYMDHMS( ~year=1973.0, ~month=11.0, ~date=29.0, ~hours=21.0, ~minutes=30.0, ~seconds=54.321, (), ) == exampleDate

utcWithYM

RES
let utcWithYM: (~year: float, ~month: float, unit) => float

Returns a float representing the number of milliseconds past the epoch for midnight of the first day of the given month and year in UTC. Fractional parts of arguments are ignored. See Date.UTC on MDN.

RES
let november1 = Js.Date.utcWithYM(~year=2020.0, ~month=10.0, ())

utcWithYMD

RES
let utcWithYMD: (~year: float, ~month: float, ~date: float, unit) => float

Returns a float representing the number of milliseconds past the epoch for midnight of the given date of the given month and year in UTC. Fractional parts of arguments are ignored. See Date.UTC on MDN.

utcWithYMDH

RES
let utcWithYMDH: (~year: float, ~month: float, ~date: float, ~hours: float, unit) => float

Returns a float representing the number of milliseconds past the epoch for midnight of the given date of the given month and year, at zero minutes and seconds past the given hours in UTC. Fractional parts of arguments are ignored. See Date.UTC on MDN.

utcWithYMDHM

RES
let utcWithYMDHM: ( ~year: float, ~month: float, ~date: float, ~hours: float, ~minutes: float, unit, ) => float

Returns a float representing the number of milliseconds past the epoch for midnight of the given date of the given month and year, at zero seconds past the given number of minutes past the given hours in UTC. Fractional parts of arguments are ignored. See Date.UTC on MDN.

utcWithYMDHMS

RES
let utcWithYMDHMS: ( ~year: float, ~month: float, ~date: float, ~hours: float, ~minutes: float, ~seconds: float, unit, ) => float

Returns a float representing the number of milliseconds past the epoch for midnight of the given date of the given month and year, at the given time in hours, minutes and seconds in UTC. Fractional parts of arguments are ignored. See Date.UTC on MDN.

now

RES
let now: unit => float

Returns the current time as number of milliseconds since Unix epoch.

parse

RES
let parse: string => t

Deprecated. Use fromString().

parseAsFloat

RES
let parseAsFloat: string => float

Returns a float with the number of milliseconds past the epoch represented by the given string. The string can be in “IETF-compliant RFC 2822 timestamps, and also strings in a version of ISO8601.” Returns NaN if given an invalid date string. According to the Date.parse documentation on MDN, its use is discouraged. Returns NaN if passed invalid date string.

getDate

RES
let getDate: t => float

Returns the day of the month for its argument. The argument is evaluated in the current time zone. See Date.getDate on MDN.

RES
Js.Date.getDate(exampleDate) == 29.0

getDay

RES
let getDay: t => float

Returns the day of the week (0.0-6.0) for its argument, where 0.0 represents Sunday. The argument is evaluated in the current time zone. See Date.getDay on MDN.

RES
Js.Date.getDay(exampleDate) == 4.0

getFullYear

RES
let getFullYear: t => float

Returns the full year (as opposed to the range 0-99) for its argument. The argument is evaluated in the current time zone. See Date.getFullYear on MDN.

RES
Js.Date.getFullYear(exampleDate) == 1973.0

getHours

RES
let getHours: t => float

Returns the hours for its argument, evaluated in the current time zone. See Date.getHours on MDN.

RES
Js.Date.getHours(exampleDate) == 22.0 // Vienna is in GMT+01:00

getMilliseconds

RES
let getMilliseconds: t => float

Returns the number of milliseconds for its argument, evaluated in the current time zone. See Date.getMilliseconds on MDN.

RES
Js.Date.getMilliseconds(exampleDate) == 321.0

getMinutes

RES
let getMinutes: t => float

Returns the number of minutes for its argument, evaluated in the current time zone. See Date.getMinutes on MDN.

RES
Js.Date.getMinutes(exampleDate) == 30.0

getMonth

RES
let getMonth: t => float

Returns the month (0.0-11.0) for its argument, evaluated in the current time zone. January is month zero. See Date.getMonth on MDN.

RES
Js.Date.getMonth(exampleDate) == 10.0

getSeconds

RES
let getSeconds: t => float

Returns the seconds for its argument, evaluated in the current time zone. See Date.getSeconds on MDN.

RES
Js.Date.getSeconds(exampleDate) == 54.0

getTime

RES
let getTime: t => float

Returns the number of milliseconds since Unix epoch, evaluated in UTC. See Date.getTime on MDN.

RES
Js.Date.getTime(exampleDate) == 123456654321.0

getTimezoneOffset

RES
let getTimezoneOffset: t => float

Returns the time zone offset in minutes from the current time zone to UTC. See Date.getTimezoneOffset on MDN.

RES
Js.Date.getTimezoneOffset(exampleDate) == -60.0

getUTCDate

RES
let getUTCDate: t => float

Returns the day of the month of the argument, evaluated in UTC. See Date.getUTCDate on MDN.

RES
Js.Date.getUTCDate(exampleDate) == 29.0

getUTCDay

RES
let getUTCDay: t => float

Returns the day of the week of the argument, evaluated in UTC. The range of the return value is 0.0-6.0, where Sunday is zero. See Date.getUTCDay on MDN.

RES
Js.Date.getUTCDay(exampleDate) == 4.0

getUTCFullYear

RES
let getUTCFullYear: t => float

Returns the full year (as opposed to the range 0-99) for its argument. The argument is evaluated in UTC. See Date.getUTCFullYear on MDN.

RES
Js.Date.getUTCFullYear(exampleDate) == 1973.0

getUTCHours

RES
let getUTCHours: t => float

Returns the hours for its argument, evaluated in the current time zone. See Date.getUTCHours on MDN.

RES
Js.Date.getUTCHours(exampleDate) == 21.0

getUTCMilliseconds

RES
let getUTCMilliseconds: t => float

Returns the number of milliseconds for its argument, evaluated in UTC. See Date.getUTCMilliseconds on MDN.

RES
Js.Date.getUTCMilliseconds(exampleDate) == 321.0

getUTCMinutes

RES
let getUTCMinutes: t => float

Returns the number of minutes for its argument, evaluated in UTC. See Date.getUTCMinutes on MDN.

RES
Js.Date.getUTCMinutes(exampleDate) == 30.0

getUTCMonth

RES
let getUTCMonth: t => float

Returns the month (0.0-11.0) for its argument, evaluated in UTC. January is month zero. See Date.getUTCMonth on MDN.

RES
Js.Date.getUTCMonth(exampleDate) == 10.0

getUTCSeconds

RES
let getUTCSeconds: t => float

Returns the seconds for its argument, evaluated in UTC. See Date.getUTCSeconds on MDN.

RES
Js.Date.getUTCSeconds(exampleDate) == 54.0

getYear

RES
let getYear: t => float

Deprecated. Use getFullYear() instead.

setDate

RES
let setDate: (t, float) => float

Sets the given Date’s day of month to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setDate on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let twoWeeksBefore = Js.Date.setDate(date1, 15.0) date1 == Js.Date.fromString("1973-11-15T21:30:54.321Z00:00") twoWeeksBefore == Js.Date.getTime(date1)

setFullYear

RES
let setFullYear: (t, float) => float

Sets the given Date’s year to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setFullYear on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let nextYear = Js.Date.setFullYear(date1, 1974.0) date1 == Js.Date.fromString("1974-11-15T21:30:54.321Z00:00") nextYear == Js.Date.getTime(date1)

setFullYearM

RES
let setFullYearM: (t, ~year: float, ~month: float, unit) => float

Sets the given Date’s year and month to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setFullYear on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let future = Js.Date.setFullYearM(date1, ~year=1974.0, ~month=0.0, ()) date1 == Js.Date.fromString("1974-01-22T21:30:54.321Z00:00") future == Js.Date.getTime(date1)

setFullYearMD

RES
let setFullYearMD: (t, ~year: float, ~month: float, ~date: float, unit) => float

Sets the given Date’s year, month, and day of month to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setFullYear on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let future = Js.Date.setFullYearMD(date1, ~year=1974.0, ~month=0.0, ~date=7.0, ()) date1 == Js.Date.fromString("1974-01-07T21:30:54.321Z00:00") future == Js.Date.getTime(date1)

setHours

RES
let setHours: (t, float) => float

Sets the given Date’s hours to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setHours on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let nextHour = Js.Date.setHours(date1, 22.0) date1 == Js.Date.fromString("1973-11-29T22:30:54.321Z00:00") nextHour == Js.Date.getTime(date1)

setHoursM

RES
let setHoursM: (t, ~hours: float, ~minutes: float, unit) => float

Sets the given Date’s hours and minutes to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setHours on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setHoursM(date1, ~hours=22.0, ~minutes=46.0, ()) date1 == Js.Date.fromString("1973-11-29T22:46:54.321Z00:00") futureTime == Js.Date.getTime(date1)

setHoursMS

RES
let setHoursMS: (t, ~hours: float, ~minutes: float, ~seconds: float, unit) => float

Sets the given Date’s hours, minutes, and seconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setHours on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setHoursMS(date1, ~hours=22.0, ~minutes=46.0, ~seconds=37.0, ()) date1 == Js.Date.fromString("1973-11-29T22:46:37.321Z00:00") futureTime == Js.Date.getTime(date1)

setHoursMSMs

RES
let setHoursMSMs: ( t, ~hours: float, ~minutes: float, ~seconds: float, ~milliseconds: float, unit, ) => float

Sets the given Date’s hours, minutes, seconds, and milliseconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setHours on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setHoursMSMs( date1, ~hours=22.0, ~minutes=46.0, ~seconds=37.0, ~milliseconds=494.0, (), ) date1 == Js.Date.fromString("1973-11-29T22:46:37.494Z00:00") futureTime == Js.Date.getTime(date1)

setMilliseconds

RES
let setMilliseconds: (t, float) => float

Sets the given Date’s milliseconds to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setMilliseconds on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setMilliseconds(date1, 494.0) date1 == Js.Date.fromString("1973-11-29T21:30:54.494Z00:00") futureTime == Js.Date.getTime(date1)

setMinutes

RES
let setMinutes: (t, float) => float

Sets the given Date’s minutes to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setMinutes on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setMinutes(date1, 34.0) date1 == Js.Date.fromString("1973-11-29T21:34:54.494Z00:00") futureTime == Js.Date.getTime(date1)

setMinutesS

RES
let setMinutesS: (t, ~minutes: float, ~seconds: float, unit) => float

Sets the given Date’s minutes and seconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setMinutes on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setMinutesS(date1, ~minutes=34.0, ~seconds=56.0, ()) date1 == Js.Date.fromString("1973-11-29T21:34:56.494Z00:00") futureTime == Js.Date.getTime(date1)

setMinutesSMs

RES
let setMinutesSMs: (t, ~minutes: float, ~seconds: float, ~milliseconds: float, unit) => float

Sets the given Date’s minutes, seconds, and milliseconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setMinutes on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setMinutesSMs( date1, ~minutes=34.0, ~seconds=56.0, ~milliseconds=789.0, (), ) date1 == Js.Date.fromString("1973-11-29T21:34:56.789Z00:00") futureTime == Js.Date.getTime(date1)

setMonth

RES
let setMonth: (t, float) => float

Sets the given Date’s month to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setMonth on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setMonth(date1, 11.0) date1 == Js.Date.fromString("1973-12-29T21:34:56.789Z00:00") futureTime == Js.Date.getTime(date1)

setMonthD

RES
let setMonthD: (t, ~month: float, ~date: float, unit) => float

Sets the given Date’s month and day of month to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setMonth on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setMonthD(date1, ~month=11.0, ~date=8.0, ()) date1 == Js.Date.fromString("1973-12-08T21:34:56.789Z00:00") futureTime == Js.Date.getTime(date1)

setSeconds

RES
let setSeconds: (t, float) => float

Sets the given Date’s seconds to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setSeconds on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setSeconds(date1, 56.0) date1 == Js.Date.fromString("1973-12-29T21:30:56.321Z00:00") futureTime == Js.Date.getTime(date1)

setSecondsMs

RES
let setSecondsMs: (t, ~seconds: float, ~milliseconds: float, unit) => float

Sets the given Date’s seconds and milliseconds to the values in the labeled arguments according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setSeconds on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setSecondsMs(date1, ~seconds=56.0, ~milliseconds=789.0, ()) date1 == Js.Date.fromString("1973-12-29T21:30:56.789Z00:00") futureTime == Js.Date.getTime(date1)

setTime

RES
let setTime: (t, float) => float

Sets the given Date’s value in terms of milliseconds since the epoch. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setTime on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setTime(date1, 198765432101.0) date1 == Js.Date.fromString("1976-04-19T12:37:12.101Z00:00") futureTime == Js.Date.getTime(date1)

setUTCDate

RES
let setUTCDate: (t, float) => float

Sets the given Date’s day of month to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCDate on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let twoWeeksBefore = Js.Date.setUTCDate(date1, 15.0) date1 == Js.Date.fromString("1973-11-15T21:30:54.321Z00:00") twoWeeksBefore == Js.Date.getTime(date1)

setUTCFullYear

RES
let setUTCFullYear: (t, float) => float

Sets the given Date’s year to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCFullYear on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let nextYear = Js.Date.setUTCFullYear(date1, 1974.0) date1 == Js.Date.fromString("1974-11-15T21:30:54.321Z00:00") nextYear == Js.Date.getTime(date1)

setUTCFullYearM

RES
let setUTCFullYearM: (t, ~year: float, ~month: float, unit) => float

Sets the given Date’s year and month to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCFullYear on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let future = Js.Date.setUTCFullYearM(date1, ~year=1974.0, ~month=0.0, ()) date1 == Js.Date.fromString("1974-01-22T21:30:54.321Z00:00") future == Js.Date.getTime(date1)

setUTCFullYearMD

RES
let setUTCFullYearMD: (t, ~year: float, ~month: float, ~date: float, unit) => float

Sets the given Date’s year, month, and day of month to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCFullYear on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let future = Js.Date.setUTCFullYearMD(date1, ~year=1974.0, ~month=0.0, ~date=7.0, ()) date1 == Js.Date.fromString("1974-01-07T21:30:54.321Z00:00") future == Js.Date.getTime(date1)

setUTCHours

RES
let setUTCHours: (t, float) => float

Sets the given Date’s hours to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCHours on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let nextHour = Js.Date.setUTCHours(date1, 22.0) date1 == Js.Date.fromString("1973-11-29T22:30:54.321Z00:00") nextHour == Js.Date.getTime(date1)

setUTCHoursM

RES
let setUTCHoursM: (t, ~hours: float, ~minutes: float, unit) => float

Sets the given Date’s hours and minutes to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCHours on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCHoursM(date1, ~hours=22.0, ~minutes=46.0, ()) date1 == Js.Date.fromString("1973-11-29T22:46:54.321Z00:00") futureTime == Js.Date.getTime(date1)

setUTCHoursMS

RES
let setUTCHoursMS: (t, ~hours: float, ~minutes: float, ~seconds: float, unit) => float

Sets the given Date’s hours, minutes, and seconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCHours on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCHoursMS(date1, ~hours=22.0, ~minutes=46.0, ~seconds=37.0, ()) date1 == Js.Date.fromString("1973-11-29T22:46:37.321Z00:00") futureTime == Js.Date.getTime(date1)

setUTCHoursMSMs

RES
let setUTCHoursMSMs: ( t, ~hours: float, ~minutes: float, ~seconds: float, ~milliseconds: float, unit, ) => float

Sets the given Date’s hours, minutes, seconds, and milliseconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCHours on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCHoursMSMs( date1, ~hours=22.0, ~minutes=46.0, ~seconds=37.0, ~milliseconds=494.0, (), ) date1 == Js.Date.fromString("1973-11-29T22:46:37.494Z00:00") futureTime == Js.Date.getTime(date1)

setUTCMilliseconds

RES
let setUTCMilliseconds: (t, float) => float

Sets the given Date’s milliseconds to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCMilliseconds on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCMilliseconds(date1, 494.0) date1 == Js.Date.fromString("1973-11-29T21:30:54.494Z00:00") futureTime == Js.Date.getTime(date1)

setUTCMinutes

RES
let setUTCMinutes: (t, float) => float

Sets the given Date’s minutes to the value in the second argument according to the current time zone. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCMinutes on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCMinutes(date1, 34.0) date1 == Js.Date.fromString("1973-11-29T21:34:54.494Z00:00") futureTime == Js.Date.getTime(date1)

setUTCMinutesS

RES
let setUTCMinutesS: (t, ~minutes: float, ~seconds: float, unit) => float

Sets the given Date’s minutes and seconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCMinutes on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCMinutesS(date1, ~minutes=34.0, ~seconds=56.0, ()) date1 == Js.Date.fromString("1973-11-29T21:34:56.494Z00:00") futureTime == Js.Date.getTime(date1)

setUTCMinutesSMs

RES
let setUTCMinutesSMs: (t, ~minutes: float, ~seconds: float, ~milliseconds: float, unit) => float

Sets the given Date’s minutes, seconds, and milliseconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCMinutes on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCMinutesSMs( date1, ~minutes=34.0, ~seconds=56.0, ~milliseconds=789.0, (), ) date1 == Js.Date.fromString("1973-11-29T21:34:56.789Z00:00") futureTime == Js.Date.getTime(date1)

setUTCMonth

RES
let setUTCMonth: (t, float) => float

Sets the given Date’s month to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCMonth on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCMonth(date1, 11.0) date1 == Js.Date.fromString("1973-12-29T21:34:56.789Z00:00") futureTime == Js.Date.getTime(date1)

setUTCMonthD

RES
let setUTCMonthD: (t, ~month: float, ~date: float, unit) => float

Sets the given Date’s month and day of month to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCMonth on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCMonthD(date1, ~month=11.0, ~date=8.0, ()) date1 == Js.Date.fromString("1973-12-08T21:34:56.789Z00:00") futureTime == Js.Date.getTime(date1)

setUTCSeconds

RES
let setUTCSeconds: (t, float) => float

Sets the given Date’s seconds to the value in the second argument according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCSeconds on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCSeconds(date1, 56.0) date1 == Js.Date.fromString("1973-12-29T21:30:56.321Z00:00") futureTime == Js.Date.getTime(date1)

setUTCSecondsMs

RES
let setUTCSecondsMs: (t, ~seconds: float, ~milliseconds: float, unit) => float

Sets the given Date’s seconds and milliseconds to the values in the labeled arguments according to UTC. Returns the number of milliseconds since the epoch of the updated Date. This function modifies the original Date. See Date.setUTCSeconds on MDN.

RES
let date1 = Js.Date.fromFloat(123456654321.0) // 29 November 1973 21:30:54.321 GMT let futureTime = Js.Date.setUTCSecondsMs(date1, ~seconds=56.0, ~milliseconds=789.0, ()) date1 == Js.Date.fromString("1973-12-29T21:30:56.789Z00:00") futureTime == Js.Date.getTime(date1)

setUTCTime

RES
let setUTCTime: (t, float) => float

Same as setTime().

setYear

RES
let setYear: (t, float) => float

Deprecated. Use setFullYear() instead.

toDateString

RES
let toDateString: t => string

Returns the date (day of week, year, month, and day of month) portion of a Date in English. See Date.toDateString on MDN.

RES
Js.Date.toDateString(exampleDate) == "Thu Nov 29 1973"

toGMTString

RES
let toGMTString: t => string

Deprecated. Use toUTCString() instead.

toISOString

RES
let toISOString: t => string

Returns a simplified version of the ISO 8601 format for the date. See Date.toISOString on MDN.

RES
Js.Date.toISOString(exampleDate) == "1973-11-29T21:30:54.321Z"

toJSON

RES
let toJSON: t => string

Deprecated. This method is unsafe. It will be changed to return option in a future release. Please use toJSONUnsafe() instead.

toJSONUnsafe

RES
let toJSONUnsafe: t => string

Returns a string representation of the given date. See Date.toJSON on MDN.

RES
Js.Date.toJSONUnsafe(exampleDate) == "1973-11-29T21:30:54.321Z"

toLocaleDateString

RES
let toLocaleDateString: t => string

Returns the year, month, and day for the given Date in the current locale format. See Date.toLocaleDateString on MDN.

RES
Js.Date.toLocaleDateString(exampleDate) == "11/29/1973" // for en_US.utf8 Js.Date.toLocaleDateString(exampleDate) == "29.11.73" // for de_DE.utf8

toLocaleString

RES
let toLocaleString: t => string

Returns the time and date for the given Date in the current locale format. See Date.toLocaleString on MDN.

RES
Js.Date.toLocaleString(exampleDate) == "11/29/1973, 10:30:54 PM" // for en_US.utf8 Js.Date.toLocaleString(exampleDate) == "29.11.1973, 22:30:54" // for de_DE.utf8

toLocaleTimeString

RES
let toLocaleTimeString: t => string

Returns the time of day for the given Date in the current locale format. See Date.toLocaleTimeString on MDN.

RES
Js.Date.toLocaleString(exampleDate) == "10:30:54 PM" // for en_US.utf8 Js.Date.toLocaleString(exampleDate) == "22:30:54" // for de_DE.utf8

toString

RES
let toString: t => string

Returns a string representing the date and time of day for the given Date in the current locale and time zone. See Date.toString on MDN.

RES
Js.Date.toString( exampleDate, ) == "Thu Nov 29 1973 22:30:54 GMT+0100 (Central European Standard Time)"

toTimeString

RES
let toTimeString: t => string

Returns a string representing the time of day for the given Date in the current locale and time zone. See Date.toTimeString on MDN.

RES
Js.Date.toTimeString(exampleDate) == "22:30:54 GMT+0100 (Central European Standard Time)"

toUTCString

RES
let toUTCString: t => string

Returns a string representing the date and time of day for the given Date in the current locale and UTC (GMT time zone). See Date.toUTCString on MDN.

RES
Js.Date.toUTCString(exampleDate) == "Thu, 29 Nov 1973 21:30:54 GMT"