Maison  >  Article  >  développement back-end  >  Conseils de programmation PHP : calculez le jour de la semaine pour n'importe quelle date

Conseils de programmation PHP : calculez le jour de la semaine pour n'importe quelle date

WBOY
WBOYoriginal
2024-02-29 18:12:03915parcourir

Conseils de programmation PHP : calculez le jour de la semaine pour nimporte quelle date

Conseils de programmation PHP : Calculez le jour de la semaine pour n'importe quelle date

En programmation PHP, vous rencontrez souvent des situations où vous devez calculer le jour de la semaine pour une certaine date. Bien que PHP fournisse des fonctions de date et d’heure, nous devons parfois écrire notre propre code pour implémenter cette fonction. Cet article expliquera comment utiliser PHP pour écrire une fonction permettant de calculer le jour de la semaine pour n'importe quelle date et joindra des exemples de code spécifiques.

Tout d'abord, nous devons comprendre une formule de calcul de base : la formule de Zeiler. La formule de Zeiler est un algorithme permettant de calculer le jour de la semaine pour n'importe quelle date :

[ h = (q + [13(m+1]/5) + K + [K/4] + [ J /4] - 2J) % 7 ]

Où, h est le jour de la semaine (0 est dimanche, 1 est lundi, et ainsi de suite), q est la date (1 à 31), m est le mois ( 3 correspond à mars, 4 à avril, et ainsi de suite, mais janvier et février sont calculés comme les 13e et 14e mois de l'année précédente), K est le chiffre unique de l'année et J est le chiffre des dizaines de l'année.

Avec cette formule comme base, nous pouvons écrire une fonction PHP pour calculer le jour de la semaine pour n'importe quelle date. Voici l'exemple de code :

function getWeekday($year, $month, $day) {
    if ($month < 3) {
        $year--;
        $month += 12;
    }
    
    $K = $year % 100;
    $J = floor($year / 100);
    
    $h = ($day + floor((13*($month+1))/5) + $K + floor($K/4) + floor($J/4) - 2*$J) % 7;
    
    return $h;
}

// 以2022年5月20日为例
$year = 2022;
$month = 5;
$day = 20;
$weekday = getWeekday($year, $month, $day);

$weekday_map = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];

echo "{$year}年{$month}月{$day}日是{$weekday_map[$weekday]}";

Dans l'exemple de code ci-dessus, nous définissons une fonction appelée getWeekday, qui accepte trois paramètres : année, mois et jour, puis calcule le jour de la semaine selon la formule de Zeiler et renvoie le numéro correspondant. Enfin, nous utilisons un tableau mappé contenant les jours de la semaine pour convertir les nombres en noms de jours spécifiques de la semaine et afficher le résultat.

Grâce à cette fonction, nous pouvons facilement calculer le jour de la semaine pour n'importe quelle date, offrant ainsi une solution flexible pour traiter les besoins liés à la date et à l'heure dans la programmation PHP. J'espère que cet article pourra aider les lecteurs qui apprennent la programmation PHP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn