최소 및 최대 날짜
자바스크립트의 최소 날짜와 최대 날짜가 어떻게 되는지 궁금합니다.Date
물건.최소 날짜는 기원전 20000년 정도로 알고 있었는데, 참고 자료를 얻을 수가 없었습니다.
정답 아시는 분 계신가요?브라우저에 따라 달라지지 않기를 바랄 뿐입니다.
"epoch 시간"(= 1970-01-01 00:00:00 UTC+00)으로 대답하는 것이 가장 좋습니다.
날짜 개체에는 밀리초 이내의 특정 순간을 나타내는 숫자가 포함됩니다.이러한 숫자를 시간 값이라고 합니다.시간 값은 NaN일 수도 있으며, 이는 날짜 개체가 특정 시간 순간을 나타내지 않음을 나타냅니다.
시간은 1970년 1월 1일 UTC 이후 ECMA스크립트로 밀리초 단위로 측정됩니다.In time 값 윤초는 무시됩니다.하루에 정확히 86,400,000 밀리초가 있다고 가정합니다.ECMAscript Number 값은 –9,007,199,254,740,992에서 9,007,199,254,740,992까지의 모든 정수를 나타낼 수 있습니다. 이 범위는 1970년 1월 1일 UTC 이후 약 285,616년 이내(전방 또는 후방)의 모든 순간에 대해 밀리초 정밀도로 시간을 측정하기에 충분합니다.
ECMAscript Date 객체가 지원하는 실제 시간 범위는 약간 더 작습니다: 정확히 –100,000,000일에서 100,000,000,000일까지 UTC 1970년 1월 1일 자정에 비해 측정됩니다.이것은 UTC 1970년 1월 1일의 어느 쪽이든 8,640,000,000,000 밀리초의 범위를 제공합니다.
UTC 1970년 1월 1일의 시작에서 자정의 정확한 순간은 +0 값으로 표시됩니다.
세 번째 단락이 가장 관련이 있습니다.그 단락에 근거하여, 우리는 정확한 스펙별 가장 빠른 날짜를 얻을 수 있습니다.new Date(-8640000000000000)
, 기원전 271,821년 4월 20일 화요일 (BCE = 보통 시대 이전, 예를 들어 -271,821년).
T.J.의 답변을 확대하기 위해 min/max 값을 초과하면 Invalid Date가 생성됩니다.
let maxDate = new Date(8640000000000000);
let minDate = new Date(-8640000000000000);
console.log(new Date(maxDate.getTime()).toString());
console.log(new Date(maxDate.getTime() - 1).toString());
console.log(new Date(maxDate.getTime() + 1).toString()); // Invalid Date
console.log(new Date(minDate.getTime()).toString());
console.log(new Date(minDate.getTime() + 1).toString());
console.log(new Date(minDate.getTime() - 1).toString()); // Invalid Date
승인된 답변을 약간 수정한 것입니다. 최소 날짜의 연도는 실제로 기원전 271,822년입니다.
console.log(new Date(-8640000000000000).toLocaleString("en", {"year": "numeric", "era": "short"}))
실제로 -271,821년은 사실 271,822 BCE입니다. 왜냐하면 자바스크립트는Date
(ISO 8601과 함께)는 천문학적 연도 번호를 사용하며, 이 번호는 연도 0을 사용합니다.따라서 1년은 1 CE, 0년은 1 BCE, -1년은 2 BCE 등입니다.
varstartingDate = new Date().toISOstring().split(')'T')[0] + "T00:00:00.001Z"; // 2022-07-25000000 varendingDate = new date(..split(')를 ISOstring(.split)로 변경합니다.T')[0] + "T23:59:59.999Z";
보시다시피 01/01/1970은 0을 반환합니다. 이는 가능한 가장 낮은 날짜임을 의미합니다.
new Date('1970-01-01Z00:00:00:000') //returns Thu Jan 01 1970 01:00:00 GMT+0100 (Central European Standard Time)
new Date('1970-01-01Z00:00:00:000').getTime() //returns 0
new Date('1970-01-01Z00:00:00:001').getTime() //returns 1
언급URL : https://stackoverflow.com/questions/11526504/minimum-and-maximum-date
'programing' 카테고리의 다른 글
도커 오라클 인스턴스에 연결하는 방법 (0) | 2023.10.12 |
---|---|
Python : 문자열 크기(바이트)를 가져옵니다. (0) | 2023.10.12 |
글리폰을 크게 하려면 어떻게 해야 할까요?(크기 변경?) (0) | 2023.10.12 |
스프링 3.0 MVC 바인딩 Enums 대소문자 구분 (0) | 2023.10.12 |
Wordpress에서 Custom Field 섹션을 제거하는 방법 (0) | 2023.10.12 |