Heim  >  Artikel  >  Web-Frontend  >  So beurteilen Sie, ob das Datum in Javascript angemessen ist

So beurteilen Sie, ob das Datum in Javascript angemessen ist

PHPz
PHPzOriginal
2023-04-21 09:07:382159Durchsuche

Mit der Entwicklung des Internets müssen immer mehr Websites oder Anwendungen eine Datumsberechnung oder -überprüfung beinhalten. In JavaScript ist die Feststellung, ob ein Datum angemessen ist, ein häufiges Problem. Wie kann man also beurteilen, ob das Datum angemessen ist? Als nächstes besprechen wir es gemeinsam.

1. Datumsformat

Bevor Sie beurteilen, ob das Datum angemessen ist, müssen Sie zunächst bestätigen, dass das eingegebene Datumsformat korrekt ist:

  1. jjjj/MM/tt
  2. jjjj-MM- dd
  3. yyyy Jahr MM Monat dd Tag

wobei yyyy das Jahr, MM den Monat und dd den Tag darstellt.

Unter diesen sind die ersten beiden Datumsformate häufiger anzutreffen und auch die in der Entwicklung am häufigsten verwendeten Datumsformate.

2. Beurteilung des Schaltjahres

Bei der Beurteilung, ob das Datum angemessen ist, müssen Sie zunächst beurteilen, ob das Jahr ein Schaltjahr ist.

Die Definition eines Schaltjahres: Wenn das gregorianische Kalenderjahr ein Vielfaches von 4 und kein Vielfaches von 100 ist, ist es ein Schaltjahr; wenn das gregorianische Kalenderjahr ein Vielfaches von 400 ist, ist es auch ein Schaltjahr. Beispiel: 2000 ist ein Schaltjahr, aber 1900 ist kein Schaltjahr.

In JavaScript lautet der Code für die Schaltjahrbeurteilung wie folgt:

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

3. Datumsüberprüfung

Mit der Grundlage für die Schaltjahrbeurteilung kann als nächstes das Datum überprüft werden. Konkret kann eine Datumszeichenfolge wie folgt überprüft werden:

  1. Verwenden Sie reguläre Ausdrücke, um zu überprüfen, ob das Datumsformat der Spezifikation entspricht.
  2. Extrahieren Sie das Jahr, den Monat und den Tag.
  3. Überprüfen Sie den Monat. Der Monat sollte zwischen 1 und 12 liegen und Code-Implementierung:
  4. Überprüfungsformat für reguläre Ausdrücke

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

Jahres-, Monats- und Tagesextraktion

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])
  }
}

Monatsüberprüfung

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

Tagesüberprüfung

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;
}
IV

Durch die Erklärung von Datumsformat, Schaltjahr und Datumsüberprüfung: Ich glaube, dass jeder lernen kann, zu beurteilen, ob das Datum angemessen ist. Natürlich kann es schwierig sein, es umzusetzen, und Sie müssen mehr in der Praxis üben. Ich hoffe, dieser Artikel ist für alle hilfreich. Vielen Dank fürs Lesen.

Das obige ist der detaillierte Inhalt vonSo beurteilen Sie, ob das Datum in Javascript angemessen ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn