code

자바 스크립트에서 날짜가 주말인지 확인하는 방법

codestyles 2020. 11. 3. 08:04
반응형

자바 스크립트에서 날짜가 주말인지 확인하는 방법


함수에 날짜가있는 경우 주말인지 어떻게 알 수 있습니까?


var day = yourDateObject.getDay();
var isWeekend = (day === 6) || (day === 0);    // 6 = Saturday, 0 = Sunday

var isWeekend = yourDateObject.getDay()%6==0;

짧고 달다.

var isWeekend = ([0,6].indexOf(new Date().getDay()) != -1);


나는 정답을 시도했고 특정 로케일에서는 작동했지만 모두는 아닙니다.

momentjs 문서에서 : weekday 반환되는 숫자는 로케일 initialWeekDay에 따라 다르므로 Monday = 0 | 일요일 = 6

그래서 실제 DayString ( 'Sunday')을 확인하기 위해 논리를 변경합니다.

const weekday = momentObject.format('dddd'); // Monday ... Sunday
const isWeekend = weekday === 'Sunday' || weekday === 'Saturday';

이렇게하면 로케일에 독립적입니다.


var d = new Date();
var n = d.getDay();
 if( n == 6 )
console.log("Its weekend!!");
else
console.log("Its not weekend");

여기에서 대부분의 답변을 테스트했으며 시간대, 로케일 또는 주 시작이 일요일 또는 월요일 일 때 항상 몇 가지 문제가 있습니다.

아래는 평일 이름en 로케일 의존하기 때문에 더 안전하다고 생각하는 것 입니다.

let startDate = start.clone(),
    endDate = end.clone();

let days = 0;
do {
    const weekday = startDate.locale('en').format('dddd'); // Monday ... Sunday
    if (weekday !== 'Sunday' && weekday !== 'Saturday') days++;
} while (startDate.add(1, 'days').diff(endDate) <= 0);

return days;

모듈로 앞에 1을 더하기 만하면됩니다.

var isWeekend = (yourDateObject.getDay() + 1) % 7 == 0;

참고 URL : https://stackoverflow.com/questions/3551795/how-to-determine-if-date-is-weekend-in-javascript

반응형