1. Date 객체
오늘은 Date 객체를 많이 살펴보겠습니다. 웹사이트의 장소에서 이러한 시간 효과가 발생했습니다. 과거를 복습하고 새로운 것을 배우기 위해 오늘은 Date 객체를 떠올려 보겠습니다.
먼저 정의를 살펴보겠습니다.
dateObj = new Date()
dateObj = new Date(dateVal)
dateObj = new Date(년, 월, 날짜 [, 시간[, 분[, 초[,ms]]]])
필수입니다. 숫자 값인 경우 dateVal은 지정된 날짜와 1970년 1월 1일 자정 사이의 UTC 단위 밀리초 수를 나타냅니다. 문자열인 경우, dateVal은 구문 분석 메소드의 규칙에 따라 구문 분석됩니다. dateVal 매개변수는 일부 ActiveX® 개체에서 반환된 VT_DATE 값일 수도 있습니다. 필수의. 예를 들어 전체 연도는 1976(76이 아님)입니다. 필수의. 표시되는 월은 0부터 11까지(1월부터 12월까지)의 정수입니다. 필수의. 날짜를 1부터 31까지의 정수로 나타냅니다. 선택 과목. 밀리초를 0부터 999까지의 정수로 나타냅니다.
날짜 객체는 특정 기간을 밀리초 단위로 표시합니다. 매개변수 값이 해당 범위보다 크거나 음수인 경우 저장된 다른 값도 이에 따라 조정됩니다. 예를 들어 150초를 지정하면 JScript는 숫자를 2분 30초로 다시 정의합니다.
숫자가 NaN이면 객체가 특정 기간을 나타내지 않습니다. Date 객체에 인수가 전달되지 않으면 현재 시간(UTC)으로 초기화됩니다. 객체를 사용하려면 먼저 값을 할당해야 합니다.
Date 객체가 나타낼 수 있는 날짜 범위는 1970년 1월 1일 전후로 약 285,616년입니다.
Date 개체에는 Date 개체를 만들지 않고도 호출할 수 있는 두 가지 정적 메서드가 있습니다. 구문 분석 및 UTC입니다.
Date 개체에는 매우 간단한 여러 메서드가 있으므로 여기에 나열되지 않습니다. 다음을 참조하세요!
특별 관심:
************************************************************************ ***** ***************
var myDate = new Date(2006,11,23);
alert("year=" myDate.getYear() "******month=" myDate.getMonth() "**** ****day=" myDate.getDate());
실행 후 결과는 year=2006 ******month=11************day=23
************************************************************************ ***** ***************
새 날짜가 12일 때 해당 월이 지나면 문제가 발생합니다.
************************************************************************ ***** ***************
var myDate = new Date(2006,12,23);
alert("year=" myDate.getYear() "********month=" myDate.getMonth() "**** ****day=" myDate.getDate());
실행 후 결과는 year=2007 ******month=0************day=23
************************************************************************ ***** ***************
참 의아한 일이군요. 마지막으로 정보를 확인한 결과, Month 매개변수의 값은 0부터 11까지이며, 12라는 값은 전달할 수 없다는 것을 알게 되었습니다. 해결 방법은 값을 전달할 때 월-1을 설정한 다음 외부에서 가져올 때 1을 추가하는 것입니다. 누가 더 나은 방법을 가지고 있는지 모르겠습니다.
예:
var date=new Date(2010,0-1,15); //여기서 0은 1월을 나타내고 1을 빼면 12월이 됩니다.
Alert(date.getYear() "," (date.getMonth() 1 ) "," date.getDate());
var date=new Date(2010,12-1,15);
Alert(date.getYear() "," (date.getMonth() 1) "," date.getDate());
매개변수는 2010/1/6과 같은 문자열 형식입니다
예:
var txtDepartureDate='2010-1-6'
alert(txtDepartureDate.replace(/-/g,'/')); //정규식을 사용하여 ' -'모두 바꾸기 /
var date = new Date(txtDepartureDate.replace(/-/g,'/'));