Jquery 오늘 날짜 비교 - Jquery oneul naljja bigyo

티스토리 뷰

Jquery 오늘 날짜 비교 - Jquery oneul naljja bigyo

현재날짜와 특정날짜를 비교하는 코드입니다.

ex)

예약날짜를 현재날짜보다 전으로 입력할 경우 예외처리가 필요합니다.

날짜 형식이 "YYYY-MM-DD"이면 같은 형식으로 맞추어 준 다음에 비교를 해야합니다.

"2020-01-01", "2020-1-1" 이렇게 비교하면 false가 됩니다. 형식은 꼭 맞춰야 합니다.

function leadingZeros(n, digits) {
	    var zero = '';
	    n = n.toString();

	    if (n.length < digits) {
	        for (i = 0; i < digits - n.length; i++)
	            zero += '0';
	    }
	    return zero + n;
	}



var rsvDate = "2020-01-01";
var now = new Date();


if(rsvDate){
  now = 
    leadingZeros(now.getFullYear(), 4) + '-' +
    leadingZeros(now.getMonth() + 1, 2) + '-' +
    leadingZeros(now.getDate(), 2);
  if(rsvDate < now){
    console.log("예약날짜는 현재날짜보다 빠를수 없습니다.");
  }
}

자바스크립트에서 날짜, 시간 정보를 갖고 있는 Date 객체를 비교하는 방법을 소개합니다. Date 객체가 갖고 있는 날짜 정보만 비교할 수 있고, 정확한 시간 정보까지 비교하여 누가 과거 시간이고 누가 미래 시간인지 크기를 비교할 수 있습니다.

1. 비교 연산자(>, >=, <, <=)로 날짜/시간 비교

비교 연산자로 두 개의 Date 객체의 크기를 비교할 수 있습니다. 어떤 Date 객체가 다른 객체보다 크다는 것은 시간상으로 앞에 있다는(미래) 의미입니다. 반대로 크기가 작다는 것은 시간상 과거라는 의미입니다.

const date1 = new Date('2022-05-04');
const date2 = new Date('2022-05-05');

console.log(date1 > date2);
console.log(date1 >= date2);
console.log(date1 < date2);
console.log(date1 <= date2);

Output:

문자열을 Date로 변환하는 방법은 JavaScript - 문자열을 날짜(Date)로 변환하는 방법를 참고해주세요.

주의할 점은 Date 객체는 == 또는 ===로 크기를 비교할 수 없습니다. 동등 연산자는 아래와 같이 항상 false를 리턴합니다.

const date1 = new Date('2022-05-05');
const date2 = new Date('2022-05-05');
console.log(date1 == date2);
console.log(date1 === date2);

Output:

2. Date.getTime()으로 날짜/시간 비교

Date.getTime()는 UTC 시간을 millisecond로 리턴합니다. UTC는 1970/01/01를 0초로 지금까지 흐른 시간을 표현한 것입니다. millisecond이기 때문에 비교 연산자를 이용하여 크기를 비교할 수 있고, 또한 동등 연산자로 비교할 수도 있습니다.

const date1 = new Date('2022-05-04');
const date2 = new Date('2022-05-05');

console.log('date1: ' + date1.getTime());
console.log('date2: ' + date2.getTime());

console.log(date1.getTime() > date2.getTime());
console.log(date1.getTime() >= date2.getTime());
console.log(date1.getTime() < date2.getTime());
console.log(date1.getTime() <= date2.getTime());
console.log(date1.getTime() == date2.getTime());

Output:

date1: 1651622400000
date2: 1651708800000
false
false
true
true
false

3. 같은 날짜(년/월/일)인지 비교하기

Date는 날짜와 시간 정보를 모두 갖고 있습니다. 시간은 무시하고 날짜만 비교하고 싶을 때 날짜 정보만 가져와서 비교할 수 있습니다. getFullYear(), getMonth(), getDate()로 년/월/일 정보를 가져올 수 있습니다. 이 정보의 크기를 비교하시면 됩니다.

아래 예제는 시간은 비교하지 않고, 날짜만 같은지 비교하는 예제입니다.

const isSameDate = (date1, date2) => {
  return date1.getFullYear() === date2.getFullYear()
     && date1.getMonth() === date2.getMonth()
     && date1.getDate() === date2.getDate();
}

const date1 = new Date('2022-05-04 12:20:30');
const date2 = new Date('2022-05-04 15:30:40');
const date3 = new Date('2022-05-05 15:30:40');

console.log(isSameDate(date1, date2));
console.log(isSameDate(date2, date3));

Output:

4. 날짜/시간이 모두 동일한지 비교하기

날짜와 시간을 모두 비교할 때는 getTime()으로 비교하시면 됩니다. getTime()은 UTC의 millisecond이기 때문에 시간 정보도 모두 millisecond로 계산되어 포함되기 때문입니다.

아래 예제는 날짜와 시간이 같은지 비교하는 예제입니다.

const isSameDateAndTime = (date1, date2) => {
  return date1.getTime() === date2.getTime();
}

const date1 = new Date('2022-05-04 12:20:30');
const date2 = new Date('2022-05-05 15:30:40');
const date3 = new Date('2022-05-05 15:30:40');

console.log(isSameDateAndTime(date1, date2));
console.log(isSameDateAndTime(date2, date3));

Output:

  • JavaScript - switch 조건문
  • JavaScript - 배열의 특정 요소 찾기, Index 찾기
  • JavaScript - 특정 값으로 배열 채우기, Array.fill()
  • JavaScript - null, undefined 체크 방법
  • JavaScript - 배열을 객체로 변환, 4가지 방법
  • JavaScript - 이번 달(특정 달)의 1일, 마지막 일 구하기
  • JavaScript - 배열의 특정 요소 삭제 방법
  • JavaScript - 배열에 특정 값이 포함되어있는지 확인
  • JavaScript - Date에 시간(일/시/분/초) 더하기
  • JavaScript - 변수가 배열인지 확인, 3가지 방법
  • JavaScript - 문자열이 숫자인지 확인
  • JavaScript - 변수가 문자열인지 확인
  • JavaScript - Map의 key를 배열로 변환
  • JavaScript - Map의 value를 배열로 변환
  • JavaScript - Map 요소 삭제 방법
  • JavaScript - Map 생성 및 초기화, 3가지 방법
  • JavaScript - Map 순회, 3가지 방법
  • JavaScript - 배열에서 빈 값, undefined, null 제거하기
  • JavaScript - Map 정렬 (key 또는 value로 정렬)
  • JavaScript - 객체에 특정 key가 존재하는지 확인
  • JavaScript - 객체에 특정 value가 존재하는지 확인

codechachaCopyright ©2019 codechacha