Instance Methods
Creates new Date object.
year :
Number/String
(optional)
Either UNIX timestamp, date string, or year (when month and day parameters also provided):
Integer value representing the number of milliseconds since 1 January 1970
00:00:00 UTC (Unix Epoch).
String value representing a date. The string should be in a format recognized
by the parse method (IETF-compliant RFC 1123 timestamps).
Integer value representing the year. For compatibility (in order to avoid the
Y2K problem), you should always specify the year in full; use 1998, rather
than 98.
month :
Number
(optional)
Integer value representing the month, beginning with 0 for January to 11
for December.
day :
Number
(optional)
Integer value representing the day of the month (1-31).
hour :
Number
(optional)
Integer value representing the hour of the day (0-23).
minute :
Number
(optional)
Integer value representing the minute segment (0-59) of a time reading.
second :
Number
(optional)
Integer value representing the second segment (0-59) of a time reading.
millisecond :
Number
(optional)
Integer value representing the millisecond segment (0-999) of a time reading.
Returns the day of the month for the specified date according to local time.
The second statement below assigns the value 25 to the variable day
, based on the value of the
Date
object Xmas95
.
Xmas95 = new Date("December 25, 1995 23:15:00")
day = Xmas95.getDate()
:
Number
Returns the day of the week for the specified date according to local time.
The value returned by getDay
is an integer corresponding to the day of the week: 0 for Sunday, 1
for Monday, 2 for Tuesday, and so on.
The second statement below assigns the value 1 to weekday
, based on the value of the Date
object Xmas95
. December 25, 1995, is a Monday.
Xmas95 = new Date("December 25, 1995 23:15:00");
weekday = Xmas95.getDay();
:
Number
A numeric representation of the day from Sunday (0) to
Saturday (6).
Returns the year of the specified date according to local time.
The value returned by getFullYear
is an absolute number. For dates between the years 1000 and
9999, getFullYear
returns a four-digit number, for example, 1995. Use this function to make sure
a year is compliant with years after 2000.
Use this method instead of the getYear
method.
The following example assigns the four-digit value of the current year to the variable yr.
var today = new Date();
var yr = today.getFullYear();
:
Number
Four digit representation of the year.
Returns the hour for the specified date according to local time.
The second statement below assigns the value 23 to the variable hours
, based on the value of the
Date
object Xmas95
.
Xmas95 = new Date("December 25, 1995 23:15:00")
hours = Xmas95.getHours()
:
Number
Value between 0 and 23, using 24-hour clock.
Returns the milliseconds in the specified date according to local time.
The following example assigns the milliseconds portion of the current time to the variable ms.
var ms;
Today = new Date();
ms = Today.getMilliseconds();
:
Number
A number between 0 and 999.
Returns the minutes in the specified date according to local time.
The second statement below assigns the value 15 to the variable minutes
, based on the value of
the Date
object Xmas95
.
Xmas95 = new Date("December 25, 1995 23:15:00")
minutes = Xmas95.getMinutes()
:
Number
Returns the month in the specified date according to local time.
The second statement below assigns the value 11 to the variable month
, based on the value of the
Date
object Xmas95
.
Xmas95 = new Date("December 25, 1995 23:15:00")
month = Xmas95.getMonth()
:
Number
An integer between 0 and 11. 0 corresponds to January, 1 to February, and so on.
Returns the seconds in the specified date according to local time.
The second statement below assigns the value 30 to the variable secs
, based on the value of the
Date
object Xmas95
.
Xmas95 = new Date("December 25, 1995 23:15:30")
secs = Xmas95.getSeconds()
:
Number
Returns the numeric value corresponding to the time for the specified date according to
universal time.
The value returned by the getTime
method is the number of milliseconds since 1 January 1970
00:00:00 UTC. You can use this method to help assign a date and time to another Date
object.
This method is functionally equivalent to the valueOf
method.
Using getTime for copying dates
Constructing a date object with the identical time value.
var birthday = new Date(1994, 12, 10);
var copy = new Date();
copy.setTime(birthday.getTime());
Measuring execution time
Subtracting two subsequent getTime calls on newly generated Date objects, give the time span
between these two calls. This can be used to calculate the executing time of some operations.
var end, start;
start = new Date();
for (var i = 0; i < 1000; i++)
Math.sqrt(i);
end = new Date();
console.log("Operation took " + (end.getTime() - start.getTime()) + " msec");
:
Number
Number of milliseconds since 1/1/1970 (GMT).
Returns the time-zone offset from UTC, in minutes, for the current locale.
The time-zone offset is the difference, in minutes, between UTC and local time. Note that this
means that the offset is positive if the local timezone is behind UTC and negative if it is ahead.
For example, if your time zone is UTC+10 (Australian Eastern Standard Time), -600 will be returned.
Daylight savings time prevents this value from being a constant even for a given locale
x = new Date()
currentTimeZoneOffsetInHours = x.getTimezoneOffset()/60
:
Number
Minutes between GMT and local time.
Returns the day (date) of the month in the specified date according to universal time.
The following example assigns the day portion of the current date to the variable d
.
var d;
Today = new Date();
d = Today.getUTCDate();
:
Number
Integer between 1 and 31 representing the day.
Returns the day of the week in the specified date according to universal time.
The following example assigns the weekday portion of the current date to the variable weekday
.
var weekday;
Today = new Date()
weekday = Today.getUTCDay()
:
Number
A numeric representation of the day from Sunday (0) to
Saturday (6).
Returns the year in the specified date according to universal time.
The following example assigns the four-digit value of the current year to the variable yr
.
var yr;
Today = new Date();
yr = Today.getUTCFullYear();
:
Number
Four digit representation of the year.
Returns the hours in the specified date according to universal time.
The following example assigns the hours portion of the current time to the variable hrs
.
var hrs;
Today = new Date();
hrs = Today.getUTCHours();
:
Number
Returns the milliseconds in the specified date according to universal time.
The following example assigns the milliseconds portion of the current time to the variable ms
.
var ms;
Today = new Date();
ms = Today.getUTCMilliseconds();
:
Number
Milliseconds portion of the Date.
Returns the minutes in the specified date according to universal time.
The following example assigns the minutes portion of the current time to the variable min
.
var min;
Today = new Date();
min = Today.getUTCMinutes();
:
Number
Returns the month of the specified date according to universal time.
The following example assigns the month portion of the current date to the variable mon
.
var mon;
Today = new Date();
mon = Today.getUTCMonth();
:
Number
Value between 0 (January) and 11 (December).
Returns the seconds in the specified date according to universal time.
The following example assigns the seconds portion of the current time to the variable sec
.
var sec;
Today = new Date();
sec = Today.getUTCSeconds();
:
Number
Sets the day of the month (1-31) for a specified date according to local time.
If the parameter you specify is outside of the expected range, setDate
attempts to update the
date information in the Date
object accordingly. For example, if you use 0 for dayValue
, the
date will be set to the last day of the previous month.
The second statement below changes the day for theBigDay to July 24 from its original value.
theBigDay = new Date("July 27, 1962 23:30:00")
theBigDay.setDate(24)
dayValue :
Number
An integer from 1 to 31, representing the day of the month.
:
Number
New date represented as milliseconds.
Sets the full year (4 digits for 4-digit years) for a specified date according to
local time.
If you do not specify the monthValue
and dayValue
parameters, the values returned from the
getMonth
and getDate
methods are used.
If a parameter you specify is outside of the expected range, setFullYear
attempts to update the
other parameters and the date information in the Date
object accordingly. For example, if you
specify 15 for monthValue, the year is incremented by 1 (year + 1), and 3 is used for the month.
theBigDay = new Date();
theBigDay.setFullYear(1997);
yearValue :
Number
An integer specifying the numeric value of the year, for example, 1995.
monthValue :
Number
An integer between 0 and 11 representing the months January through
December.
dayValue :
Number
An integer between 1 and 31 representing the day of the month. If you
specify the dayValue
parameter, you must also specify the monthValue
.
:
Number
New date represented as milliseconds.
Sets the hours (0-23) for a specified date according to local time.
If you do not specify the minutesValue
, secondsValue
, and msValue
parameters, the values
returned from the getUTCMinutes
, getUTCSeconds
, and getMilliseconds
methods are used.
If a parameter you specify is outside of the expected range, setHours attempts to update the date
information in the Date
object accordingly. For example, if you use 100 for secondsValue
, the
minutes will be incremented by 1 (min + 1), and 40 will be used for seconds.
theBigDay.setHours(7)
hoursValue :
Number
An integer between 0 and 23, representing the hour.
minutesValue :
Number
An integer between 0 and 59, representing the minutes.
secondsValue :
Number
An integer between 0 and 59, representing the seconds. If you specify the
secondsValue
parameter, you must also specify the minutesValue
.
msValue :
Number
A number between 0 and 999, representing the milliseconds. If you specify the
msValue
parameter, you must also specify the minutesValue
and secondsValue
.
:
Number
New date represented as milliseconds.
Sets the milliseconds (0-999) for a specified date according to local time.
If you specify a number outside the expected range, the date information in the Date
object is
updated accordingly. For example, if you specify 1005, the number of seconds is incremented by 1,
and 5 is used for the milliseconds.
theBigDay = new Date();
theBigDay.setMilliseconds(100);
millisecondsValue :
Number
A number between 0 and 999, representing the milliseconds.
:
Number
New date represented as milliseconds.
Sets the minutes (0-59) for a specified date according to local time.
If you do not specify the secondsValue
and msValue
parameters, the values returned from
getSeconds
and getMilliseconds
methods are used.
If a parameter you specify is outside of the expected range, setMinutes
attempts to update the
date information in the Date
object accordingly. For example, if you use 100 for secondsValue
,
the minutes (minutesValue
) will be incremented by 1 (minutesValue + 1), and 40 will be used for
seconds.
theBigDay.setMinutes(45)
minutesValue :
Number
An integer between 0 and 59, representing the minutes.
secondsValue :
Number
An integer between 0 and 59, representing the seconds. If you
specify the secondsValue parameter, you must also specify the minutesValue
.
msValue :
Number
A number between 0 and 999, representing the milliseconds. If you specify
the msValue
parameter, you must also specify the minutesValue
and secondsValue
.
:
Number
New date represented as milliseconds.
Sets the month (0-11) for a specified date according to local time.
If you do not specify the dayValue
parameter, the value returned from the getDate
method is
used.
If a parameter you specify is outside of the expected range, setMonth
attempts to update the date
information in the Date
object accordingly. For example, if you use 15 for monthValue
, the year
will be incremented by 1 (year + 1), and 3 will be used for month.
theBigDay.setMonth(6)
monthValue :
Number
An integer between 0 and 11 (representing the months January through
December).
dayValue :
Number
An integer from 1 to 31, representing the day of the month.
:
Number
New date represented as milliseconds.
Sets the seconds (0-59) for a specified date according to local time.
If you do not specify the msValue
parameter, the value returned from the getMilliseconds
method
is used.
If a parameter you specify is outside of the expected range, setSeconds
attempts to update the
date information in the Date
object accordingly. For example, if you use 100 for secondsValue
,
the minutes stored in the Date
object will be incremented by 1, and 40 will be used for seconds.
theBigDay.setSeconds(30)
secondsValue :
Number
An integer between 0 and 59.
msValue :
Number
A number between 0 and 999, representing the milliseconds. If you specify
themsValue
parameter, you must also specify the minutesValue
and secondsValue
.
:
Number
New date represented as milliseconds.
Sets the Date object to the time represented by a number of milliseconds since
January 1, 1970, 00:00:00 UTC, allowing for negative numbers for times prior.
Use the setTime
method to help assign a date and time to another Date
object.
theBigDay = new Date("July 1, 1999")
sameAsBigDay = new Date()
sameAsBigDay.setTime(theBigDay.getTime())
timeValue :
Number
An integer representing the number of milliseconds since 1 January
1970, 00:00:00 UTC.
:
Number
New date represented as milliseconds.
Sets the day of the month (1-31) for a specified date according to universal time.
If a parameter you specify is outside of the expected range, setUTCDate
attempts to update the
date information in the Date
object accordingly. For example, if you use 40 for dayValue
, and
the month stored in the Date
object is June, the day will be changed to 10 and the month will be
incremented to July.
theBigDay = new Date();
theBigDay.setUTCDate(20);
dayValue :
Number
An integer from 1 to 31, representing the day of the month.
:
Number
New date represented as milliseconds.
Sets the full year (4 digits for 4-digit years) for a specified date according
to universal time.
If you do not specify the monthValue
and dayValue
parameters, the values returned from the
getMonth
and getDate
methods are used.
If a parameter you specify is outside of the expected range, setUTCFullYear
attempts to update
the other parameters and the date information in the Date
object accordingly. For example, if you
specify 15 for monthValue
, the year is incremented by 1 (year + 1), and 3 is used for the month.
theBigDay = new Date();
theBigDay.setUTCFullYear(1997);
yearValue :
Number
An integer specifying the numeric value of the year, for example, 1995.
monthValue :
Number
An integer between 0 and 11 representing the months January through
December.
dayValue :
Number
An integer between 1 and 31 representing the day of the month. If you
specify the dayValue
parameter, you must also specify the monthValue
.
:
Number
New date represented as milliseconds.
Sets the hour (0-23) for a specified date according to universal time.
If you do not specify the minutesValue
, secondsValue
, and msValue
parameters, the values
returned from the getUTCMinutes
, getUTCSeconds
, and getUTCMilliseconds
methods are used.
If a parameter you specify is outside of the expected range, setUTCHours
attempts to update the
date information in the Date
object accordingly. For example, if you use 100 for secondsValue
,
the minutes will be incremented by 1 (min + 1), and 40 will be used for seconds.
theBigDay = new Date();
theBigDay.setUTCHours(8);
hoursValue :
Number
An integer between 0 and 23, representing the hour.
minutesValue :
Number
An integer between 0 and 59, representing the minutes.
secondsValue :
Number
An integer between 0 and 59, representing the seconds. If you specify the
secondsValue
parameter, you must also specify the minutesValue
.
msValue :
Number
A number between 0 and 999, representing the milliseconds. If you specify the
msValue
parameter, you must also specify the minutesValue
and secondsValue
.
:
Number
New date represented as milliseconds.
Sets the milliseconds (0-999) for a specified date according to universal time.
If a parameter you specify is outside of the expected range, setUTCMilliseconds
attempts to
update the date information in the Date
object accordingly. For example, if you use 1100 for
millisecondsValue
, the seconds stored in the Date object will be incremented by 1, and 100 will
be used for milliseconds.
theBigDay = new Date();
theBigDay.setUTCMilliseconds(500);
millisecondsValue :
Number
A number between 0 and 999, representing the milliseconds.
:
Number
New date represented as milliseconds.
Sets the minutes (0-59) for a specified date according to universal time.
If you do not specify the secondsValue
and msValue
parameters, the values returned from
getUTCSeconds
and getUTCMilliseconds
methods are used.
If a parameter you specify is outside of the expected range, setUTCMinutes
attempts to update the
date information in the Date
object accordingly. For example, if you use 100 for secondsValue
,
the minutes (minutesValue
) will be incremented by 1 (minutesValue
+ 1), and 40 will be used for
seconds.
theBigDay = new Date();
theBigDay.setUTCMinutes(43);
minutesValue :
Number
An integer between 0 and 59, representing the minutes.
secondsValue :
Number
An integer between 0 and 59, representing the seconds. If you specify the secondsValue
parameter, you must also specify the minutesValue
.
msValue :
Number
A number between 0 and 999, representing the milliseconds. If you specify the msValue
parameter, you must also specify the minutesValue
and secondsValue
.
:
Number
New date represented as milliseconds.
Sets the month (0-11) for a specified date according to universal time.
If you do not specify the dayValue
parameter, the value returned from the getUTCDate
method is
used.
If a parameter you specify is outside of the expected range, setUTCMonth
attempts to update the
date information in the Date
object accordingly. For example, if you use 15 for monthValue
, the
year will be incremented by 1 (year + 1), and 3 will be used for month.
theBigDay = new Date();
theBigDay.setUTCMonth(11);
monthValue :
Number
An integer between 0 and 11, representing the months January through
December.
dayValue :
Number
An integer from 1 to 31, representing the day of the month.
:
Number
New date represented as milliseconds.
Sets the seconds (0-59) for a specified date according to universal time.
If you do not specify the msValue
parameter, the value returned from the getUTCMilliseconds
methods is used.
If a parameter you specify is outside of the expected range, setUTCSeconds
attempts to update the
date information in the Date
object accordingly. For example, if you use 100 for secondsValue
,
the minutes stored in the Date
object will be incremented by 1, and 40 will be used for seconds.
theBigDay = new Date();
theBigDay.setUTCSeconds(20);
secondsValue :
Number
An integer between 0 and 59.
msValue :
Number
A number between 0 and 999, representing the milliseconds.
:
Number
New date represented as milliseconds.
Returns the "date" portion of the Date as a human-readable string in American English.
Date instances refer to a specific point in time. Calling toString
will return the
date formatted in a human readable form in American English. In SpiderMonkey, this consists of the
date portion (day, month, and year) followed by the time portion (hours, minutes, seconds, and time
zone). Sometimes it is desirable to obtain a string of the date portion; such a thing can be
accomplished with the toDateString
method.
The toDateString
method is especially useful because compliant engines implementing ECMA-262 may
differ in the string obtained from toString
for Date
objects, as the format is implementation-
dependent and simple string slicing approaches may not produce consistent results across multiple
engines.
var d = new Date(1993, 6, 28, 14, 39, 7);
println(d.toString()); // prints Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
println(d.toDateString()); // prints Wed Jul 28 1993
:
String
Human-readable string, in local time.
Returns a JSON representation of the Date object.
Date instances refer to a specific point in time. Calling toJSON()
returns a JSON formatted string representing the Date object's
value. This method is generally intended to, by default, usefully
serialize Date objects during JSON serialization.
var jsonDate = (new Date()).toJSON();
var backToDate = new Date(jsonDate);
console.log("Serialized date object: " + jsonDate);
// Serialized date object: 2013-01-17T12:59:08.449Z
NOTE: This method is part of the ECMAScript 5 standard.
:
String
Date value in YYYY-MM-DDTHH-MM-SS.MMMZ
format.
Returns the "date" portion of the Date as a string, using the current locale's
conventions.
The toLocaleDateString
method relies on the underlying operating system in formatting dates. It
converts the date to a string using the formatting convention of the operating system where the
script is running. For example, in the United States, the month appears before the date (04/15/98),
whereas in Germany the date appears before the month (15.04.98). If the operating system is not
year-2000 compliant and does not use the full year for years before 1900 or over 2000,
toLocaleDateString
returns a string that is not year-2000 compliant. toLocaleDateString
behaves
similarly to toString
when converting a year that the operating system does not properly format.
Methods such as getDate
, getMonth
, and getFullYear
give more portable results than
toLocaleDateString
. Use toLocaleDateString
when the intent is to display to the user a string
formatted using the regional format chosen by the user. Be aware that this method, due to its
nature, behaves differently depending on the operating system and on the user's settings.
In the following example, today
is a Date
object:
today = new Date(95,11,18,17,28,35) //months are represented by 0 to 11
today.toLocaleDateString()
In this example, toLocaleDateString
returns a string value that is similar to the following form.
The exact format depends on the platform, locale and user's settings.
12/18/95
You shouldn't use this method in contexts where you rely on a particular format or locale.
"Last visit: " + someDate.toLocaleDateString(); // Good example
"Last visit was at " + someDate.toLocaleDateString(); // Bad example
:
String
Human-readable string that may be formatted differently depending
on the country.
Converts a date to a string, using the current locale's conventions. Overrides
the Object.toLocaleString
method.
The toLocaleString
method relies on the underlying operating system in formatting dates. It
converts the date to a string using the formatting convention of the operating system where the
script is running. For example, in the United States, the month appears before the date (04/15/98),
whereas in Germany the date appears before the month (15.04.98). If the operating system is not
year-2000 compliant and does not use the full year for years before 1900 or over 2000,
toLocaleString
returns a string that is not year-2000 compliant. toLocaleString
behaves
similarly to toString
when converting a year that the operating system does not properly format.
Methods such as getDate
, getMonth
, getFullYear
, getHours
, getMinutes
, and getSeconds
give more portable results than toLocaleString
. Use toLocaleString
when the intent is to
display to the user a string formatted using the regional format chosen by the user. Be aware that
this method, due to its nature, behaves differently depending on the operating system and on the
user's settings.
In the following example, today
is a Date
object:
today = new Date(95,11,18,17,28,35); //months are represented by 0 to 11
today.toLocaleString();
In this example, toLocaleString
returns a string value that is similar to the following form. The
exact format depends on the platform, locale and user's settings.
12/18/95 17:28:35
You shouldn't use this method in contexts where you rely on a particular format or locale.
"Last visit: " + someDate.toLocaleString(); // Good example
"Last visit was at " + someDate.toLocaleString(); // Bad example
:
String
Human-readable string that may be formatted differently depending
on the country.
Returns the "time" portion of the Date as a string, using the current locale's
conventions.
The toLocaleTimeString
method relies on the underlying operating system in formatting dates. It
converts the date to a string using the formatting convention of the operating system where the
script is running. For example, in the United States, the month appears before the date (04/15/98),
whereas in Germany the date appears before the month (15.04.98).
Methods such as getHours
, getMinutes
, and getSeconds
give more consistent results than
toLocaleTimeString
. Use toLocaleTimeString
when the intent is to display to the user a string
formatted using the regional format chosen by the user. Be aware that this method, due to its
nature, behaves differently depending on the operating system and on the user's settings.
In the following example, today
is a Date
object:
today = new Date(95,11,18,17,28,35) //months are represented by 0 to 11
today.toLocaleTimeString()
In this example, toLocaleTimeString
returns a string value that is similar to the following form.
The exact format depends on the platform.
17:28:35
You shouldn't use this method in contexts where you rely on a particular format or locale.
"Last visit: " + someDate.toLocaleTimeString(); // Good example
"Last visit was at " + someDate.toLocaleTimeString(); // Bad example
:
String
Human-readable string that may be formatted differently depending
on the country.
Returns a string representing the specified Date object. Overrides the
Object.prototype.toString
method.
The Date
object overrides the toString method of the Object object; it does not inherit
Object.toString
. For Date
objects, the toString
method returns a string representation of the
object.
toString
always returns a string representation of the date in American English.
JavaScript calls the toString
method automatically when a date is to be represented as a text
value or when a date is referred to in a string concatenation.
The following assigns the toString
value of a Date
object to myVar
:
x = new Date();
myVar=x.toString(); //assigns a value to myVar similar to:
//Mon Sep 28 1998 14:36:22 GMT-0700 (Pacific Daylight Time)
:
String
Human-readable string of the date in local time.
Returns the "time" portion of the Date as a human-readable string.
Date instances refer to a specific point in time. Calling toString
will return the
date formatted in a human readable form in American English. In SpiderMonkey, this consists of the
date portion (day, month, and year) followed by the time portion (hours, minutes, seconds, and
time zone). Sometimes it is desirable to obtain a string of the time portion; such a thing can be
accomplished with the toTimeString
method.
The toTimeString
method is especially useful because compliant engines implementing ECMA-262 may
differ in the string obtained from toString
for Date
objects, as the format is implementation-
dependent; simple string slicing approaches may not produce consistent results across multiple
engines.
var d = new Date(1993, 6, 28, 14, 39, 7);
println(d.toString()); // prints Wed Jul 28 1993 14:39:07 GMT-0600 (PDT)
println(d.toTimeString()); // prints 14:39:07 GMT-0600 (PDT)
:
String
Human-readable string of the date in local time.
Converts a date to a string, using the universal time convention.
The value returned by toUTCString
is a readable string in American English in the UTC time zone.
The format of the return value may vary according to the platform.
var today = new Date();
var UTCstring = today.toUTCString();
// Mon, 03 Jul 2006 21:44:38 GMT
:
String
String of the date in UTC.
Returns the primitive value of a Date object. Overrides the
Object.prototype.valueOf method.
The valueOf
method returns the primitive value of a Date
object as a number data type, the
number of milliseconds since midnight 01 January, 1970 UTC.
This method is functionally equivalent to the getTime
method.
This method is usually called internally by JavaScript and not explicitly in code.
x = new Date(56, 6, 17);
myVar = x.valueOf(); //assigns -424713600000 to myVar
:
Number
Date represented as milliseconds.