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

type t;

valueOf

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

let make: unit => t;

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

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

fromFloat

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

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

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

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

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

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

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

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

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

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

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

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

let now: unit => float;

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

parse

let parse: string => t;

Deprecated. Use fromString().

parseAsFloat

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

let getYear: t => float;

Deprecated. Use getFullYear() instead.

setDate

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Same as setTime().

setYear

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

Deprecated. Use setFullYear() instead.

toDateString

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

let toGMTString: t => string;

Deprecated. Use toUTCString() instead.

toISOString

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

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

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

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

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

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

toString

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

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

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";