API / JavaScript / Js / Date

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.

type t;
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;
let make: unit => t;

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

RE
let now = Js.Date.make();
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;
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
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, ());
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.

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.

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.

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;
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, ());
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.

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.

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.

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.

let now: unit => float;

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

let parse: string => t;

Deprecated. Use fromString().

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.

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;
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;
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;
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
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;
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;
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;
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;
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
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;
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;
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;
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;
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;
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;
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;
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;
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;
let getYear: t => float;

Deprecated. Use getFullYear() instead.

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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
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);
let setUTCTime: (t, float) => float;

Same as setTime().

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

Deprecated. Use setFullYear() instead.

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";
let toGMTString: t => string;

Deprecated. Use toUTCString() instead.

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";
let toJSON: t => string;

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

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";
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
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
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.toLocaleString(exampleDate) == "10:30:54 PM"; // for en_US.utf8 Js.Date.toLocaleString(exampleDate) == "22:30:54"; // for de_DE.utf8
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)";
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)";
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";