|
Bonjour à tous,
J'ai un petit problème de logisitique que j'essaie depuis un petit bout de surmonter.
J'ai un script qui copie un horaire officiel sur des date officielle d'un calendrier. Le script fonctionne qu'il copie chaque jour de l'horaire sur le calendrier.
L'horaire s'affiche de semaine en semaine et pour savoir a quelle semaine appartient chaque journée, j'utilise une fonction qui me retourne le dernier dimanche en TimeStamp et calcul le décalage en en fonction du nombre du jour (0 à 6)*86400.
Le tout fonctionne très bien....du moins quand mes horaire ne sont pas générés sur les date du changement d'heure. En effet, cette année, le changement d'heure arrive le dimanche le 11 mars. Le stamp de ce dimanche est X. Quand j'évalue le stamp du lundi, il me donne Y. Théoriquement si je fais X-Y, je devrais obtenir 86400 soit une journée. Cependant, j'obtient 90000. Ainsi, la semaine du dimanche le 11 mars et celle du lundi le 12 mars ne sont pas les même...
J'ai essayé d'utiliser la fonction STRtoTime avec l'argument Last Sunday, mais je pense que cette fonction fait la même chose que moi et calcule le dernier dimanche en fonction de la date passée en argument.
Je me demandais si quelqu'un avait une idée pour cette impasse, sans que j'aille a hardcoder les dates du changement d'heure. Une piste pourrait être de désactiver le changement d'heure (en lui entrant par exemple un fuseau horaire étrange ou encore un endroit ou il n'y a pas le SavingLight Days. Sinon, une autre façon pourrait être de créer une fonction qui me dirait si oui ou non la journée est en SavingLight.
Ainsi je pourrais comparer le jour de la semaine avec le dimanche et s'ils ne sont pas sur le même fuseau horaire, j'arrangerai le décallage.
Le seul problème c'est que je n'ai aucune idée de comment faire une ou l'autre des solutions....alors si quelqu'un pourrait m'éclairer, ce serait très apprécié
_________________ Jean-Thomas Baillargeon
|