Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je ne comprends pas la nuance entre "real" year et "ISO" year.
For year there are two specifiers available which are often mistaken. The Y specifier for the ISO year and the y specifier for the real year. The difference is small but significant. Y calculates the ISO year, which is often used for calendar formats. See for example the 31. December 2007. The real year is 2007, but it is the first day of the first week in the week 1 of the year 2008. So, if you are using 'dd.MM.yyyy' you will get '31.December.2007' but if you use 'dd.MM.YYYY' you will get '31.December.2008'. As you see this is no bug but a expected behaviour depending on the used specifiers.
C'est quoi cette logique de "The real year is 2007, but it is the first day of the first week in the week 1 of the year 2008" ?!?
Merci d'avance pour vos explications!
Dernière modification par ubini (05-10-2011 02:06:30)
Hors ligne
Je crois que cela fait référence à la manière de calculer la première semaine de l'année qui est la semaine qui contient le premier jeudi de l'année (en fait au moins 4 jours, sachant que la semaine commence le lundi).
Si on regarde la fonction DateTime::setISODate, ils écrivent "Set a date according to the ISO 8601 standard - using weeks and day offsets rather than specific dates. "
Donc si je veux le premier jour (lundi) de la première semaine de 2009. Comme la première semaine va du 29/12/2008 au 04/01/2009, le jour renvoyé sera le 29/12/2008 .
A contrario, le dernier jour de la dernière semaine de 2011 sera le 02/01/2012.
Les années ISO ne sont utiles que si raisonne en semaine.
Hors ligne
ainsi
echo "week: " . date("W \of yyyy, dd MM yyyy", mktime(0, 0, 0, 31, 12, 2007); echo "week: " . date("W \of YYYY, dd MM yyyy", mktime(0, 0, 0, 31, 12, 2007);
affichera respectivement
week: 1 of 2007, 31 12 2007 week: 1 of 2008, 31 12 2007
On vois nettement dans ce cas la nécessite d'avoir deux année pour une seule date
le 31 12 2007 est bien dans la 1ere semaine de 2008
A+JYT
Hors ligne
Maintenant c'est clair ! merci beaucoup à vous deux.
Hors ligne