최근에 문제가 발생했습니다. 즉, 양식에서 날짜를 가져와 json을 통해 백그라운드로 전송할 때 Date.parse(str) 함수가 ff: NAN에서 오류를 보고했습니다.
일부 정보를 검색한 후 Date.parse() 함수에 날짜 형식에 대한 요구 사항이 있다는 것을 발견했습니다. 자세한 내용은 Date.parse 함수를 참조하세요.
JS 작업 날짜의 경우:
날짜 객체를 생성합니다:
var objDate=new Date([인수 목록]);
매개변수 형식에는 다섯 가지 유형이 있습니다.
다음과 같이 코드 코드를 복사합니다.
view plainnew Date("월 dd,yyyy hh:mm:ss");
new Date("월 dd,yyyy");
new Date(yyyy,mth,dd,hh,mm,ss);
새로운 날짜(yyyy,mth,dd);
새로운 날짜(ms);
설명하다:
Month: 1월부터 12월까지 영어로 달 이름을 나타냅니다.
mth: 0(1월)부터 11(12월)까지의 정수로 월을 나타냅니다.
콘텐츠
dd: 1부터 31까지의 날짜를 나타냅니다.
yyyy: 네 자리 연도
hh: 시간, 0(자정)부터 23(오후 11시)까지
mm: 분, 0~59 사이의 정수
ss: 초, 0~59 사이의 정수
ms: 밀리초, 0보다 크거나 같은 정수. 생성될 시간과 1970년 1월 1일 GMT 시간 사이의 밀리초 수를 나타냅니다.
내가 찾은 것:
Javascript의 날짜 구성은 new Date("yyyy/MM/dd")도 지원할 수 있습니다. 여기서: MM은 0(1월)부터 11(12월)까지의 월을 나타내는 정수이므로 정규식을 사용하는 것이 매우 편리합니다. 문자열 날짜를 변환합니다.
테스트 코드:
다음과 같이 코드 코드를 복사합니다.
<mce:script type="text/javascript"><!--
document.write("<br/>" + new Date("2009년 2월 3일"));
document.write("<br/>" + new Date("2009년 2월 3일 10:52:03"));
document.write("<br/>");
document.write("<br/>" + new Date(2009,1,3));
document.write("<br/>" + new Date(2009,1,3,10,52,03));
document.write("<br/>");
document.write("<br/>" + new Date(Date.parse("2009년 2월 3일")));
document.write("<br/>" + new Date(Date.parse("2009년 2월 3일 10:52:03")));
document.write("<br/>" + new Date(Date.parse(2009,1,3))) //출력: NAN
document.write("<br/>" + new Date(Date.parse(2009,1,3,10,52,03))) //출력: NAN
document.write("<br/>" + new Date(Date.parse("2009/02/03")));
document.write("<br/>");
document.write("<br/>" + new Date("2009/02/03"));
document.write("<br/>" + new Date("2009/02/03 11:12:13"));
document.write("<br/>" + new Date("2009-02-03")) //출력: NAN
// --></mce:script>
출력 결과:
2009년 2월 3일 화요일 00:00:00 UTC+0800
2009년 2월 3일 화요일 10:52:03 UTC+0800
2009년 2월 3일 화요일 00:00:00 UTC+0800
2009년 2월 3일 화요일 10:52:03 UTC+0800
2009년 2월 3일 화요일 00:00:00 UTC+0800
2009년 2월 3일 화요일 10:52:03 UTC+0800
NaN
NaN
2009년 2월 3일 화요일 00:00:00 UTC+0800
2009년 2월 3일 화요일 00:00:00 UTC+0800
2009년 2월 3일 화요일 11:12:13 UTC+0800
NaN
------
다음과 같이 코드 코드를 복사합니다.
window.onload=함수(){
vardependentVal="2005-3-4";
//날짜 문자열을 기준으로 날짜로 변환
var regEx = new RegExp("//-","gi");
dependentVal=dependentVal.replace(regEx,"/");
//dependentVal=dependentVal.replace("//-","/");//이것은 작동하지 않습니다
경고(의존Val)
//파싱에는 2005/3/4 형식이 필요합니다.
var milliseconds=Date.parse(dependentVal);
경고(밀리초)
vardependentDate=new Date();
dependentDate.setTime(밀리초);
var now = new Date();
//괄호, 우선순위 문제, 무력감에 주의
Alert("차이가 있는 연수:"+(now.getFullYear() -dependentDate.getFullYear()));
}
실제로 날짜는 밀리초 값을 통해 브라우저와 서버 간에 전송되어야 하며, 그렇지 않으면 400 오류가 보고됩니다!