>  기사  >  웹 프론트엔드  >  JavaScript의 Date 객체 동작에 대한 자세한 설명(7일을 카운트다운하는 배열 생성)_javascript 기술

JavaScript의 Date 객체 동작에 대한 자세한 설명(7일을 카운트다운하는 배열 생성)_javascript 기술

WBOY
WBOY원래의
2016-05-16 15:37:301463검색

문제 설명:

JavaScript를 사용하여 7일 카운트다운 배열을 생성합니다.

예를 들어 오늘은 10월 1일이고 생성된 배열은 ["9월 25일", "9월 26일", "9월 27일", "9월 28일", "9월 29일", "9월 30일", "10월 1일"입니다. "].

어려운 점은 이번 달(또는 이전 달)이 30일인지 31일인지, 그리고 Rui Nian의 2월에도 28일 또는 29일이 있는지 확인해야 한다는 것입니다.

답변 아이디어:

너무 복잡할 필요는 없습니다. js에서는 매우 간단합니다. 왜냐하면 js의 날짜 객체가 수학 연산에 참여할 수 있기 때문입니다! ! ! 아래 코드를 보세요:

var now = new Date('2012/3/2 12:00:00'); // 这个算法能自动处理闰年和非闰年。2012年是闰年,所以2月有29号
var s = '';
var i = 0;
while (i < 7) {
 
 s += now.getFullYear() + '/' + (now.getMonth() + 1) + '/' + now.getDate() + '\n';
 now = new Date(now - 24 * 60 * 60 * 1000); // 这个是关键!!!减去一天的毫秒数效果就是把日期往前推一天
 i++;
}
console.log(s);

결과는 아래와 같습니다.

요구 사항에서 특정 날짜의 시간을 지정하지 않고 시스템의 현재 시간을 기준으로 계산하는 경우에도 가능합니다.

현재 시스템 시간을 기준으로 7일 카운트다운 배열을 계산합니다.

var now = new Date(); // 이 알고리즘은 윤년과 비윤년을 자동으로 처리할 수 있습니다. 2012년은 윤년이므로 2월은 29일입니다
var s = '';
var i = 0;
동안(i < 7) {
 
s = now.getFullYear() '/' (now.getMonth() 1) '/' now.getDate() 'n';
Now = new Date(now - 24 * 60 * 60 * 1000); // 이것이 핵심입니다! ! ! 하루의 밀리초를 빼는 효과는 날짜를 하루 앞당기는 것입니다
나 ;
}
console.log(들);

결과는 그림과 같습니다.

위 내용은 이 글의 전체 내용입니다. js 날짜 객체 연산을 배우는 모든 분들께 도움이 되기를 바랍니다. 다음 글에서는 js의 날짜 형식 문제에 대해 소개하겠습니다. 자세한 내용은 javascript 날짜 형식을 클릭하세요.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.