>  기사  >  웹 프론트엔드  >  자바스크립트에서 날짜가 적절한지 판단하는 방법

자바스크립트에서 날짜가 적절한지 판단하는 방법

PHPz
PHPz원래의
2023-04-21 09:07:382156검색

인터넷이 발전함에 따라 날짜 계산이나 확인이 필요한 웹사이트나 애플리케이션이 점점 더 많아지고 있습니다. JavaScript에서는 날짜가 합리적인지 여부를 결정하는 것이 일반적인 문제입니다. 그렇다면 날짜가 합리적인지 어떻게 판단할 수 있을까요? 다음으로 함께 논의해 봅시다.

1. 날짜 형식

날짜가 적절한지 판단하기 전에 먼저 입력한 날짜 형식이 올바른지 확인해야 합니다. 일반적인 날짜 형식은

  1. yyyy/MM/dd
  2. yyyy-MM-입니다. dd
  3. yyyy 년 MM 월 dd 일

여기서 yyyy는 연도, MM은 월, dd는 일을 나타냅니다.

그 중에서 처음 두 날짜 형식이 더 일반적이며 개발 중인 가장 일반적인 날짜 형식이기도 합니다.

2. 윤년 판단

날짜가 합리적인지 판단할 때 먼저 윤년인지 판단해야 합니다.

윤년의 정의: 그레고리력 연도가 4의 배수이고 100의 배수가 아닌 경우 윤년이고, 그레고리력 연도가 400의 배수인 경우에도 윤년입니다. 예를 들어 2000년은 윤년이지만 1900년은 윤년이 아닙니다.

JavaScript에서 윤년 판정을 위한 코드는 다음과 같습니다.

function isLeapYear(year) {
  return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}

3. 날짜 확인

윤년 판정을 기준으로 다음에는 날짜를 확인할 수 있습니다. 구체적으로 날짜 문자열의 경우 다음과 같이 확인할 수 있습니다.

  1. 정규 표현식을 사용하여 날짜 형식이 사양을 준수하는지 확인합니다.
  2. 연도, 월, 일을 각각 추출합니다.
  3. 월을 확인하고, 월은 1~12 사이여야 합니다
  4. 일을 확인하려면 일의 범위가 1~31이어야 하지만 달과 윤년에 따라 일의 범위가 다를 수 있습니다

자세한 내용은 다음과 같습니다. 및 코드 구현:

정규식 검증 형식

function checkDate(dateStr) {
  var reg = /^(\d{4})(\/|-|\u5e74)(\d{1,2})(\/|-|\u6708)(\d{1,2})/;
  return reg.test(dateStr);
}

년, 월, 일 추출

function getDateInfo(dateStr) {
  var dateArr;
  if (dateStr.indexOf('/') != -1) {
    dateArr = dateStr.split('/');
  } else if (dateStr.indexOf('-') != -1) {
    dateArr = dateStr.split('-');
  } else {
    dateArr = dateStr.split('\u5e74');
    dateArr[1] = dateArr[1].replace('\u6708', '');
    dateArr[2] = dateArr[2].replace('\u65e5', '');
  }
  return {
    year: parseInt(dateArr[0]),
    month: parseInt(dateArr[1]),
    day: parseInt(dateArr[2])
  }
}

월 검증

function checkMonth(month) {
  return month >= 1 && month <= 12;
}

일 검증

function checkDay(year, month, day) {
  var maxDay;
  switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
      maxDay = 31;
      break;
    case 4:
    case 6:
    case 9:
    case 11:
      maxDay = 30;
      break;
    case 2:
      if (isLeapYear(year)) {
        maxDay = 29;
      } else {
        maxDay = 28;
      }
      break;
    default:
      return false;
  }
  return day >= 1 && day <= maxDay;
}

요약

날짜 설명을 통해. 형식, 윤년, 날짜 확인 등을 통해 날짜가 합리적인지 판단하는 방법을 누구나 배울 수 있다고 믿습니다. 물론 구현하기 어려울 수 있으며 실제로는 더 많은 연습이 필요합니다. 이 글이 모든 분들께 도움이 되었으면 좋겠습니다. 읽어주셔서 감사합니다.

위 내용은 자바스크립트에서 날짜가 적절한지 판단하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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