Bonjour,
J'ai vu l'effet que je décris ici avant (chaque année) et je pensais que c'était une erreur dans mes squelettes. Maintenant je vois que cela vient du fait que jour_relatif n'arrive pas à gérer le passage de février en mars.
Si je fais une boucle
<BOUCLE_days(readings){jour_relatif<=0}{jour_relatif>-8}{par date}>
et je mets ?date=2011-02-20 dans l'URL je reçois bien les dates attendues:
8 jours, du 2011-02-20 au 2011-02-27
Mais si dans l'URL je mets ?date=2011-02-27
je reçois seulement *6 jours*, du 2011-02-27 au 2011-03-04 !
Le code SQL produit est :
WHERE (LEAST(TO_DAYS("2011-02-27 00:00:00")-TO_DAYS(readings.date), DAYOFMONTH("2011-02-27 00:00:00")-DAYOFMONTH(readings.date)+30.4368*(MONTH("2011-02-27 00:00:00")-MONTH(readings.date))+365.2422*(YEAR("2011-02-27 00:00:00")-YEAR(readings.date))) <= 0)
AND (LEAST(TO_DAYS("2011-02-27 00:00:00")-TO_DAYS(readings.date), DAYOFMONTH("2011-02-27 00:00:00")-DAYOFMONTH(readings.date)+30.4368*(MONTH("2011-02-27 00:00:00")-MONTH(readings.date))+365.2422*(YEAR("2011-02-27 00:00:00")-YEAR(readings.date))) > -8)
Est-ce que nous pouvons trouver une façon plus « solide » de calculer les dates ? (Ou peut-être devrais-je faire cette boucle tout autrement ?)
merci,
Paolo