Maison > développement back-end > tutoriel php > 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
Libérer: 2024-02-29 18:14:01
original
973 Les gens l'ont consulté

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]}";
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal