Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich in PHP zuverlässig feststellen, ob ein bestimmtes Datum ein Wochenende ist?

Wie kann ich in PHP zuverlässig feststellen, ob ein bestimmtes Datum ein Wochenende ist?

DDD
DDDOriginal
2024-11-27 06:53:11604Durchsuche

How Can I Reliably Determine if a Given Date is a Weekend in PHP?

So ermitteln Sie den Wochenendstatus eines Datums in PHP

Diese Frage stellt sich, wenn Sie mit Funktionen arbeiten, die feststellen sollen, ob ein bestimmtes Datum fällt an einem Wochenende. Eine solche vom Benutzer bereitgestellte Funktion gibt trotz scheinbar gültiger Parameter nur falsche Werte zurück.

Das Problem

Die bereitgestellte Funktion isweekend() führt die folgenden Schritte aus :

  1. Konvertiert die Eingabezeichenfolge mithilfe von strtotime in einen Zeitstempel.
  2. Formatiert den Zeitstempel in der Name des Wochentags, z. B. Samstag oder Sonntag, unter Verwendung von Datum(„l“).
  3. Vergleicht die formatierte Zeichenfolge entweder mit „Samstag“ oder „Sonntag“, um festzustellen, ob es ein Wochenende ist.

Es wird jedoch unabhängig vom Eingabedatum „false“ zurückgegeben.

Die Lösung

Es gibt zwei alternative Lösungen, um den Wochenendstatus eines Datums in PHP genau zu bestimmen:

Für PHP >= 5.1:

function isWeekend($date) {
    return (date('N', strtotime($date)) >= 6);
}

Diese Lösung verwendet date('N'), um den Wochentag als Ganzzahl zurückzugeben, wobei 1 für Montag und 7 für Sonntag steht. Anschließend wird geprüft, ob diese Ganzzahl größer oder gleich 6 ist, was auf ein Wochenende hinweist.

Für PHP < 5.1:

function isWeekend($date) {
    $weekDay = date('w', strtotime($date));
    return ($weekDay == 0 || $weekDay == 6);
}

Diese Lösung verwendet date('w'), um den Wochentag als Ganzzahl zurückzugeben, wobei 0 für Sonntag und 6 für Samstag steht. Anschließend prüft es, ob die Ganzzahl entweder 0 oder 6 ist, um festzustellen, ob es ein Wochenende ist.

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP zuverlässig feststellen, ob ein bestimmtes Datum ein Wochenende 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