Outils pour utilisateurs

Outils du site


devweb:php:numero_semaine (lu 24093 fois)

Numéro de semaine et année

Choses à faire attention quand vous utilisez les numéros de semaine avec l’année.

<?php
echo date("Y-W", strtotime("2011-01-07")); // affiche 2011-01
 
echo date("Y-W", strtotime("2011-12-31")); // affiche 2011-52
echo date("Y-W", strtotime("2011-01-01")); // affiche 2011-52 aussi !!
 
echo date("Y-W", strtotime("2007-12-31")); // affiche 2007-01 : c'est logiquement faux !
echo date("Y-W", strtotime("2008-01-01")); // affiche 2008-01
?>

MAIS

<?php
echo date("o-W", strtotime("2011-01-07")); // affiche 2011-01
 
echo date("o-W", strtotime("2011-12-31")); // affiche 2011-52
echo date("o-W", strtotime("2011-01-01")); // affiche 2010-52 : au 1er janvier 2011, on est bien dans la 52ème semaine de l'année 2010
 
echo date("o-W", strtotime("2007-12-31")); // affiche 2008-01 : au 31 décembre 2007, on est bien dans la 1ère semaine de l'année 2008
echo date("o-W", strtotime("2008-01-01")); // affiche 2008-01
?>

Raison :

  • Y est l’année issue de la date
  • o est le numéro de l’année ISO-8601
  • W est le numéro de la semaine ISO-8601

Conclusion: Si vous utilisez ‘W’ pour le numéro de semaine, utilisez ‘o’ for l’année.

devweb/php/numero_semaine.txt · Dernière modification: 06-11-2013 10:31 de edmc73