22 Voix

PHP: Année incorrecte pour la première Semaine Calendaire

Question de Compi | 11/04/2024 à 00:41

En PHP, il est possible de déterminer la semaine calendaire (numéro de la semaine) à l'aide de la fonction date() et l'espace réservé "W".

Par exemple, ce code devrait me fournir le numéro de la semaine de l'année en cours comme résultat:

echo 'semaine ', date('W', time()), ', ', date('Y', time());  

Avec time() j'obtiens l'heure actuelle, avec "W" j'obtiens le numéro de la semaine et avec "Y" l'année - le résultat devrait être quelque chose comme "semaine 5, 2024".

Cependant, malheureusement, cette solution ne fonctionne pas dans le cas où la première semaine civile tombe dans l'ancienne année ou la dernière semaine civile tombe dans la nouvelle année. Par exemple, le 01/01/2016 donne "semaine 53, 2016" et non "semaine 53, 2015" comme prévu - l'année est toujours fausse dans cette période de transition.

Que puis-je faire pour que cette fonction fonctionne également le 31 décembre et le 1er janvier?

RépondrePositifNégatif
2Meilleure Réponse2 Voix

Lorsque vous utilisez "Y", l'année correspond toujours à l'année de la date que vous passez avec le deuxième paramètre à la fonction date(). C'est pourquoi un espace réservé supplémentaire "o" est disponible pour le numéro de la semaine calendaire.

Vous devez donc modifier votre code de la manière suivante:

echo 'semaine ', date('W', time()), ', ', date('o', time());

J'ai décrit cela plus en détail dans mon tutoriel sur la façon de déterminer le numéro de la semaine de l'année à l'aide de PHP.
11/04/2024 à 02:41

RépondrePositif Négatif
Répondre

Sujets Connexes

Avis Important

Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.

Participer

Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.