API / Js / Date

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

(These docs cover all versions between v3 to v8 and are equivalent to the old BuckleScript docs before the rebrand)

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:

RE
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

RE
type t;

valueOf

RE
let valueOf: t => float;

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

RE
Js.Date.valueOf(exampleDate) == 123456654321.0;

make

RE
let make: unit => t;

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

RE
let now = Js.Date.make();

fromFloat

RE
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.

RE
Js.Date.fromFloat(123456654321.0) == exampleDate;

fromString

RE
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.

RE
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

RE
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.

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

makeWithYMD

RE
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

RE
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

RE
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

RE
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.

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

utcWithYM

RE
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.

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

utcWithYMD

RE
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

RE
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

RE
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

RE
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

RE
let now: unit => float;

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

parse

RE
let parse: string => t;

Deprecated. Use fromString().

parseAsFloat

RE
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

RE
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.

RE
Js.Date.getDate(exampleDate) == 29.0;

getDay

RE
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.

RE
Js.Date.getDay(exampleDate) == 4.0;

getFullYear

RE
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.

RE
Js.Date.getFullYear(exampleDate) == 1973.0;

getHours

RE
let getHours: t => float;

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

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

getMilliseconds

RE
let getMilliseconds: t => float;

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

RE
Js.Date.getMilliseconds(exampleDate) == 321.0;

getMinutes

RE
let getMinutes: t => float;

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

RE
Js.Date.getMinutes(exampleDate) == 30.0;

getMonth

RE
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.

RE
Js.Date.getMonth(exampleDate) == 10.0;

getSeconds

RE
let getSeconds: t => float;

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

RE
Js.Date.getSeconds(exampleDate) == 54.0;

getTime

RE
let getTime: t => float;

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

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

getTimezoneOffset

RE
let getTimezoneOffset: t => float;

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

RE
Js.Date.getTimezoneOffset(exampleDate) == -60.0;

getUTCDate

RE
let getUTCDate: t => float;

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

RE
Js.Date.getUTCDate(exampleDate) == 29.0;

getUTCDay

RE
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.

RE
Js.Date.getUTCDay(exampleDate) == 4.0;

getUTCFullYear

RE
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.

RE
Js.Date.getUTCFullYear(exampleDate) == 1973.0;

getUTCHours

RE
let getUTCHours: t => float;

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

RE
Js.Date.getUTCHours(exampleDate) == 21.0;

getUTCMilliseconds

RE
let getUTCMilliseconds: t => float;

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

RE
Js.Date.getUTCMilliseconds(exampleDate) == 321.0;

getUTCMinutes

RE
let getUTCMinutes: t => float;

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

RE
Js.Date.getUTCMinutes(exampleDate) == 30.0;

getUTCMonth

RE
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.

RE
Js.Date.getUTCMonth(exampleDate) == 10.0;

getUTCSeconds

RE
let getUTCSeconds: t => float;

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

RE
Js.Date.getUTCSeconds(exampleDate) == 54.0;

getYear

RE
let getYear: t => float;

Deprecated. Use getFullYear() instead.

setDate

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
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.

RE
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

RE
let setUTCTime: (t, float) => float;

Same as setTime().

setYear

RE
let setYear: (t, float) => float;

Deprecated. Use setFullYear() instead.

toDateString

RE
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.

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

toGMTString

RE
let toGMTString: t => string;

Deprecated. Use toUTCString() instead.

toISOString

RE
let toISOString: t => string;

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

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

toJSON

RE
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

RE
let toJSONUnsafe: t => string;

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

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

toLocaleDateString

RE
let toLocaleDateString: t => string;

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

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

toLocaleString

RE
let toLocaleString: t => string;

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

RE
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

RE
let toLocaleTimeString: t => string;

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

RE
Js.Date.toLocaleTimeString(exampleDate) == "10:30:54 PM"; // for en_US.utf8 Js.Date.toLocaleTimeString(exampleDate) == "22:30:54"; // for de_DE.utf8

toString

RE
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.

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

toTimeString

RE
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.

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

toUTCString

RE
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.

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