날짜 구성은 moment
내부적으로 new Date()
자바 스크립트를 사용합니다 . new Date()
구조는 하나의 날짜 문자열 인식 RFC2822 또는 ISO 모든 브라우저에서 형식을. moment
이러한 형식이 아닌 날짜를 가진 객체를 구성 할 때 사용 중단 경고가 발생합니다.
지원 중단 경고가 표시되지만 일부 형식의 경우 moment
객체가 Chrome에서는 성공적으로 생성되지만 Firefox 또는 Safari에서는 생성되지 않습니다. 이로 인해 Chrome에서 날짜를 처리하면 항상 예상대로 결과가 나오고 다른 경우가 발생할 수 Invalid Date
있습니다.
다음을 고려하십시오 02.02.2018
.
크롬-- moment("02.02.2018")._d
>Fri Feb 02 2018 00:00:00 GMT+0530 (India Standard Time)
Firefox-- moment("02.02.2018")._d
>Invalid Date
사파리-- moment("02.02.2018")._d
>Invalid Date
따라서 moment.js
권장 / 표준 형식을 사용하지 않는 경우에는 위험을 감수해야합니다.
사용 중단 경고를 억제하려면 ,
- 이전 답변에서 @Joe Wilson이 제안한 것처럼
moment
건설 날짜 형식을 지정하십시오 .
예 : moment("02.05.2018", "DD.MM.YYYY").format("DD MM YYYY");
- ISO 또는 RFC2822 형식으로 날짜를 제공하십시오.
예 : moment("2018-02-01T18:30:00.000Z")
-ISO 형식
moment("Thu, 01 Feb 2018 18:30:00 GMT")
- RFC2822 형식 - Github에서의 형식
- 이전 답변에서 @niutech이 제안한대로 설정하십시오.
moment.suppressDeprecationWarnings = true;
입력 폴백을 즉시 덮어 쓰는 것이 좋습니다.
moment.createFromInputFallback=function (config){
config._d = new Date(config._i);
}
(3)은 모든 경고를 억제하므로 (4)는 날짜 구성 폴 백만 억제합니다. (4)를 사용 Invalid Date
하면 내부 new Date()
를 사용하고 콘솔에서 다른 지원 중단을 볼 수 있으므로 순간을 업그레이드하거나 더 이상 사용되지 않는 방법을 응용 프로그램에서 바꿀 수 있습니다.