calendar php synolab

Attention aux années et semaines en PHP avec la fonction date()

Par Quentin P. le 19 janvier 2017

 Lecture 1 minute

En début d’année, les numéros de semaines sont toujours à la fête.

Dans le cas où l’on utilise conjointement le N° de la semaine ainsi que l’année d’une date, il y a une subtilité de la fonction date() qui peut créer un bug en tout début d’année.

Prenons la date du 01-01-2017, elle appartient à la semaine 52 de 2016.

Le code

affichera « Semaine 52 de 2017 », ce qui n’est pas correct.

L’option « o » de la fonction date() renvoie l’année correspondant à la semaine et non de la date

Ainsi,

affichera « Semaine 52 de 2016 », ce qui est correct.

Sans conséquence pour un affichage mais gênant en cas d’utilisation dans un script, pouvant se croire fin 2017 au lieu de fin 2016.

Fonction date() – Source http://php.net/manual/fr/function.date.php

 

Quentin P.

#CoffeeAddict

GIF