날짜 구성은 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()를 사용하고 콘솔에서 다른 지원 중단을 볼 수 있으므로 순간을 업그레이드하거나 더 이상 사용되지 않는 방법을 응용 프로그램에서 바꿀 수 있습니다.