Date.prototype.toString()

toString() 메서드는 Date 객체의 시간을 문자열로 반환합니다.

시도해보기

구문

js
dateObj.toString();

반환 값

주어진 날짜를 나타내는 문자열.

설명

Date 객체는 toString() 메서드를 Object.prototype (en-US)이 아닌 Date.prototype에서 상속받습니다. Date.prototype.toString()의 반환값은 ECMA-262에 명시되어있으며 다음과 같이 요약할 수 있습니다.

  • 요일: 세 글자 영어 요일명. 예: "Sat"
  • 공백
  • 월: 세 글자 영어 월 이름. 예: "Sep"
  • 공백
  • 일: 두 글자 숫자. 예: "01"
  • 공백
  • 연: 네 글자 숫자. 예: "2018"
  • 공백
  • 시: 두 글자 숫자. 예: "14"
  • 콜론
  • 분: 두 글자 숫자. 예: "53"
  • 콜론
  • 초: 두 글자 숫자. 예: "26"
  • 공백
  • 문자열 "GMT"
  • 시간대 차이의 부호.
    • 0 이상일 경우 "+"
    • 0 미만일 경우 "-"
  • 두 글자 숫자로 표현한 시 차이. 예: "14"
  • 두 글자 숫자로 표현한 분 차이. 예: "00"
  • 선택사항: 다음으로 구성한 시간대의 이름.
    • 공백
    • 여는 소괄호
    • 구현마다 다를 수 있는 시간대 이름. 약어와 전체 이름 둘 다 가능. 예: "Korea Standard Time", "한국 표준시" 또는 "KST"
    • 닫는 소괄호

예: "Sat Sep 01 2018 14:53:26 GMT+0900 (KST)"

ECMAScript 2018(제9판) 전까지 toString()의 반환 형식은 구현에 따라 다를 수 있었습니다. 따라서 특정 형식에 의존하지 않아야 합니다.

toString() 메서드는 날짜를 문자열로 표현해야 할 때 자동으로 쓰입니다. console.log(new Date())const today = 'Today is ' + new Date() 등의 경우를 예로 들 수 있습니다.

toString()은 제네릭 메서드로 this의 값이 Date일 필요는 없습니다. 그러나 내부적으로 [[TimeValue]] 속성이 필요한데, 이는 JavaScript로는 설정할 수 없어 결국 사용이 Date 인스턴스로 제한됩니다. Date 외의 다른 객체에서 호출하면 TypeError가 발생합니다.

예제

toString() 사용

js
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+0900 (KST)

명세

Specification
ECMAScript Language Specification
# sec-date.prototype.tostring

브라우저 호환성

BCD tables only load in the browser

같이 보기