The toString() method returns a string representing the specified Date object.

Syntax

dateObj.toString()

Return value

A string representing the given date.

Description

Date instances inherit their toString() method from Date.prototype, not Object.prototype. Date.prototype.toString() returns a string representation of the Date in the format specified in ECMA-262 which can be summarised as:

  • Week day: 3 letter English week day name, e.g. "Sat"
  • space
  • Month name: 3 letter English month name, e.g. "Sep"
  • space
  • Date: 2 digit day in month, e.g. "01"
  • space
  • Year: 4 digit year, e.g. "2018"
  • space
  • Hour: 2 digit hour of day, e.g. "14"
  • colon
  • Minute: 2 digit minute of hour, e.g. "53"
  • colon
  • Second: 2 digit second of minute, e.g. "26"
  • space
  • The string "GMT"
  • Timezone offset sign, either:
    • "+" for positive offsets (0 or greater)
    • "-" for negative offsets (less than zero)
  • Two digit hour offset, e.g. "14"
  • Two digit minute offset, e.g. "00"
  • Optionally, a timezone name consisting of:
    • space
    • Left bracket, i.e. "("
    • An implementation dependent string representation of the timezone, which might be an abbreviation or full name (there is no standard for names or abbreviations of timezones), e.g. "Line Islands Time" or "LINT"
    • Right bracket, i.e. ")"

E.g. "Sat Sep 01 2018 14:53:26 GMT+1400 (LINT)"

Until ECMAScript 2018 (edition 9), the format of the string returned by Date.prototype.toString was implementation dependent. Therefore it should not be relied upon to be in the specified format.

The toString() method is automatically called when a date is to be represented as a text value, e.g. console.log(new Date()), or when a date is used in a string concatenation, such as var today = 'Today is ' + new Date().

toString() is a generic method, it does not require that its this is a Date instance. However, it must have an internal [[TimeValue]] property that can't be constructed using native javascript, so it's effectively limited to use with Date instances. If called on a non–Date instance, a TypeError is thrown.

Examples

Using toString()

The following assigns the toString() value of a Date object to myVar:

var x = new Date();
var myVar = x.toString(); // assigns a string value to myVar in the same format as:
                          // Mon Sep 08 1998 14:36:22 GMT-0700 (PDT)

Specifications

Specification Status Comment
ECMAScript 1st Edition (ECMA-262) Standard Initial definition. Implemented in JavaScript 1.0.
ECMAScript 5.1 (ECMA-262)
The definition of 'Date.prototype.toLocaleTimeString' in that specification.
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Date.prototype.toString' in that specification.
Standard  
Unknown
The definition of 'Date.prototype.toString' in that specification.
Unknown Format of Date.prototype.toString is standardised.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Date.prototype.toString' in that specification.
Draft  

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
Basic supportChrome Full support YesEdge Full support YesFirefox Full support 1IE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesEdge Mobile Full support YesFirefox Android Full support 4Opera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yesnodejs Full support Yes

Legend

Full support  
Full support

See also

Document Tags and Contributors

Last updated by: Robg1,