new Date() 에 들어가는 날짜 형식은 브라우저마다 달라서 크로스브라우징 이슈가 있을 수 있다.
아래는 https://string.tistory.com/32 에서 가져온, 각 형식별 브라우저 지원 여부이다.
// yyyy-mm-dd
var a = new Date("2021-07-06");
console.log(a);
// CHROME - Tue Jul 06 2021 09:00:00 GMT+0900 (대한민국 표준시)
// SAFARI - Tue Jul 06 2021 09:00:00 GMT+0900 (KST)
// IE11 - Tue Jul 06 2021 09:00:00 GMT+0900 (대한민국 표준시)
// yyyy-mm-dd hh:mm:ss
var b = new Date("2021-07-06 10:30:06");
console.log(b);
// CHROME - Tue Jul 06 2021 10:30:06 GMT+0900 (대한민국 표준시)
// SAFARI - Invalid Date
// IE11 - Invalid Date
// yyyy-mm-ddThh:mm:ss
var c = new Date("2021-07-06T10:30:06");
console.log(c);
// CHROME - Tue Jul 06 2021 10:30:06 GMT+0900 (대한민국 표준시)
// SAFARI - Tue Jul 06 2021 10:30:06 GMT+0900 (KST)
// IE11 - Tue Jul 06 2021 10:30:06 GMT+0900 (대한민국 표준시)
// yyyy.mm.dd
var d = new Date("2021.07.06");
console.log(d);
// CHROME - Tue Jul 06 2021 00:00:00 GMT+0900 (대한민국 표준시)
// SAFARI - Invalid Date
// IE11 - Invalid Date
// yyyy.mm.dd hh:mm:ss
var e = new Date("2021.07.06 10:30:06");
console.log(e);
// CHROME - Tue Jul 06 2021 10:30:06 GMT+0900 (대한민국 표준시)
// SAFARI - Invalid Date
// IE11 - Invalid Date
// yyyy/mm/dd
var f = new Date("2021/07/06");
console.log(f);
// CHROME - Tue Jul 06 2021 00:00:00 GMT+0900 (대한민국 표준시)
// SAFARI - Tue Jul 06 2021 00:00:00 GMT+0900 (KST)
// IE11 - Tue Jul 06 2021 00:00:00 GMT+0900 (대한민국 표준시)
// yyyy/mm/dd hh:mm:ss
var g = new Date("2021/07/06 10:30:06");
console.log(g);
// CHROME - Tue Jul 06 2021 10:30:06 GMT+0900 (대한민국 표준시)
// SAFARI - Tue Jul 06 2021 10:30:06 GMT+0900 (KST)
// IE11 - Tue Jul 06 2021 10:30:06 GMT+0900 (대한민국 표준시)
// yyyy/mm/ddThh:mm:ss
var h = new Date("2021/07/06T10:30:06");
console.log(h);
// CHROME - Invalid Date
// SAFARI - Invalid Date
// IE11 - Tue Jul 06 2021 12:30:06 GMT+0900 (대한민국 표준시)
// yyyy-m-d
var i = new Date("2021-7-6");
console.log(i);
// CHROME - Tue Jul 06 2021 00:00:00 GMT+0900 (대한민국 표준시)
// SAFARI - Invalid Date
// IE11 - Invalid Date
// yyyy-mm
var j = new Date("2021-07");
console.log(j);
// CHROME - Thu Jul 01 2021 09:00:00 GMT+0900 (대한민국 표준시)
// SAFARI - Tue Jul 01 2021 09:00:00 GMT+0900 (KST)
// IE11 - Thu Jul 01 2021 09:00:00 GMT+0900 (대한민국 표준시)
// yyyy-mm hh:mm:ss
var k = new Date("2021-07 10:30:06");
console.log(k);
// CHROME - Thu Jul 01 2021 10:30:06 GMT+0900 (대한민국 표준시)
// SAFARI - Invalid Date
// IE11 - Invalid Date
// yyyy.mm
var l = new Date("2021.07");
console.log(l);
// CHROME - Thu Jul 01 2021 00:00:00 GMT+0900 (대한민국 표준시)
// SAFARI - Invalid Date
// IE11 - Invalid Date
위와같이 일관적이지 않은 브라우저의 new Date 형식 지원에 유의 .
아니면 아래 코드는 모든 브라우저에서 지원함
///(년,월,일,시,분,초)
new Date(2023, 1, 23, 0, 0, 0) // 내 코드