Cherche date pour changement d'heure

Partagez votre expérience de PureBasic avec les autres utilisateurs.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Cherche date pour changement d'heure

Message par comtois »

Code : Tout sélectionner

;Printemps : 
;- passer de l'heure normale à l'heure d'été 
;- l'horloge est avancée d'une heure à à 2h le dernier dimanche du mois de mars.
;Automne   : 
;- passer de l'heure d'été à l'heure normale 
;- l'horloge est retardée d'une heure à 3h le dernier dimanche du mois d'octobre.


#Printemps = 3
#Automne   = 10

Procedure ChercheDernierDimanche(Annee, Mois)
  Jour=31
  DateDernierDimanche=Date(Annee, Mois, Jour, 0, 0, 0)
  
  ;Cherche le dernier dimanche
  While DayOfWeek(DateDernierDimanche)<>0
    
    jour - 1
    DateDernierDimanche= Date(annee, mois, jour, 0, 0, 0)
  Wend
  
  ProcedureReturn DateDernierDimanche
EndProcedure


Annee = Val(InputRequester("Changement d'heure", "Quelle année ?", Str(Year(Date()))))

If Annee > 1970 And Annee < 2038
  Dimanche = ChercheDernierDimanche(Annee, #Printemps)
  Debug  "Passage de l'heure normale à l'heure d'été = " + Str(Day(Dimanche)) + "/" + Str(Month(Dimanche)) + "/" + Str(Year(Dimanche)) 
  
  Dimanche = ChercheDernierDimanche(Annee, #Automne)
  Debug  "Passage de l'heure d'été à l'heure normale = " +  Str(Day(Dimanche)) + "/" + Str(Month(Dimanche)) + "/" + Str(Year(Dimanche)) 
EndIf
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Cherche date pour changement d'heure

Message par Micoute »

Petit programme, mais il a tout d'un grand !

J'aime bien ce genre de routines qui vaut son pesant d'or, c'est une vraie pépite ! Avec ça, sur le même principe, on peut calculer la fête des grand-mères qui tombe le premier dimanche de mars et la fête des grand-pères, le premier dimanche d'octobre, mais aussi la fête des mères qui tombe le dernier dimanche de mai, sauf si c'est la Pentecôte, auquel cas, il est reporté au dimanche suivant et plein de choses comme ça !

Merci beaucoup pour ce partage.
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: Cherche date pour changement d'heure

Message par kernadec »

bonjour comtois

merci pour le partage.
Petit rappel sur l'heure d'été en France, elle ne date que depuis l'année 1976
(sinon, elle avait aussi été en vigueur dans les années 1942 à 1945)

je dois ajouter que la règle des dates a subit des variantes, exemple:
de 1977 à 1980 c'était le premier week-end d'avril et le dernier de septembre
ensuite le dernier week-end de septembre a continué d'être en vigueur jusque 1995 pour passer à fin octobre en 1996

Cordialement

Historique des dates:
Année : 1976
Passage à l'heure d'été le Dimanche 28 Mars 1976 - 00 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Samedi 25 Septembre 1976 - 23 h 00 (GMT + 1 h ) CET
Année : 1977
Passage à l'heure d'été le Dimanche 3 Avril 1977 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 25 Septembre 1977 - 01 h 00 (GMT + 1 h ) CET
Année : 1978
Passage à l'heure d'été le Dimanche 2 Avril 1978 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 1 Octobre 1978 - 01 h 00 (GMT + 1 h ) CET
Année : 1979
Passage à l'heure d'été le Dimanche 1 Avril 1979 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 30 Septembre 1979 - 01 h 00 (GMT + 1 h ) CET
Année : 1980
Passage à l'heure d'été le Dimanche 6 Avril 1980 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 28 Septembre 1980 - 01 h 00 (GMT + 1 h ) CET
Année : 1981
Passage à l'heure d'été le Dimanche 29 Mars 1981 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 27 Septembre 1981 - 01 h 00 (GMT + 1 h ) CET
Année : 1982
Passage à l'heure d'été le Dimanche 28 Mars 1982 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 26 Septembre 1982 - 01 h 00 (GMT + 1 h ) CET
Année : 1983
Passage à l'heure d'été le Dimanche 27 Mars 1983 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 25 Septembre 1983 - 01 h 00 (GMT + 1 h ) CET
Année : 1984
Passage à l'heure d'été le Dimanche 25 Mars 1984 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 30 Septembre 1984 - 01 h 00 (GMT + 1 h ) CET
Année : 1985
Passage à l'heure d'été le Dimanche 31 Mars 1985 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 29 Septembre 1985 - 01 h 00 (GMT + 1 h ) CET
Année : 1986
Passage à l'heure d'été le Dimanche 30 Mars 1986 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 28 Septembre 1986 - 01 h 00 (GMT + 1 h ) CET
Année : 1987
Passage à l'heure d'été le Dimanche 29 Mars 1987 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 27 Septembre 1987 - 01 h 00 (GMT + 1 h ) CET
Année : 1988
Passage à l'heure d'été le Dimanche 27 Mars 1988 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 25 Septembre 1988 - 01 h 00 (GMT + 1 h ) CET
Année : 1989
Passage à l'heure d'été le Dimanche 26 Mars 1989 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 24 Septembre 1989 - 01 h 00 (GMT + 1 h ) CET
Année : 1990
Passage à l'heure d'été le Dimanche 25 Mars 1990 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 30 Septembre 1990 - 01 h 00 (GMT + 1 h ) CET
Année : 1991
Passage à l'heure d'été le Dimanche 31 Mars 1991 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 29 Septembre 1991 - 01 h 00 (GMT + 1 h ) CET
Année : 1992
Passage à l'heure d'été le Dimanche 29 Mars 1992 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 27 Septembre 1992 - 01 h 00 (GMT + 1 h ) CET
Année : 1993
Passage à l'heure d'été le Dimanche 28 Mars 1993 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 26 Septembre 1993 - 01 h 00 (GMT + 1 h ) CET
Année : 1994
Passage à l'heure d'été le Dimanche 27 Mars 1994 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 25 Septembre 1994 - 01 h 00 (GMT + 1 h ) CET
Année : 1995
Passage à l'heure d'été le Dimanche 26 Mars 1995 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 24 Septembre 1995 - 01 h 00 (GMT + 1 h ) CET
Année : 1996
Passage à l'heure d'été le Dimanche 31 Mars 1996 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 27 Octobre 1996 - 01 h 00 (GMT + 1 h ) CET
Année : 1997
Passage à l'heure d'été le Dimanche 30 Mars 1997 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 26 Octobre 1997 - 01 h 00 (GMT + 1 h ) CET
Année : 1998
Passage à l'heure d'été le Dimanche 29 Mars 1998 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 25 Octobre 1998 - 01 h 00 (GMT + 1 h ) CET
Année : 1999
Passage à l'heure d'été le Dimanche 28 Mars 1999 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 31 Octobre 1999 - 01 h 00 (GMT + 1 h ) CET
Année : 2000
Passage à l'heure d'été le Dimanche 26 Mars 2000 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 29 Octobre 2000 - 01 h 00 (GMT + 1 h ) CET
Année : 2001
Passage à l'heure d'été le Dimanche 25 Mars 2001 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 28 Octobre 2001 - 01 h 00 (GMT + 1 h ) CET
Année : 2002
Passage à l'heure d'été le Dimanche 31 Mars 2002 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 27 Octobre 2002 - 01 h 00 (GMT + 1 h ) CET
Année : 2003
Passage à l'heure d'été le Dimanche 30 Mars 2003 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 26 Octobre 2003 - 01 h 00 (GMT + 1 h ) CET
Année : 2004
Passage à l'heure d'été le Dimanche 28 Mars 2004 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 31 Octobre 2004 - 01 h 00 (GMT + 1 h ) CET
Année : 2005
Passage à l'heure d'été le Dimanche 27 Mars 2005 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 30 Octobre 2005 - 01 h 00 (GMT + 1 h ) CET
Année : 2006
Passage à l'heure d'été le Dimanche 26 Mars 2006 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 29 Octobre 2006 - 01 h 00 (GMT + 1 h ) CET
Année : 2007
Passage à l'heure d'été le Dimanche 25 Mars 2007 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 28 Octobre 2007 - 01 h 00 (GMT + 1 h ) CET
Année : 2008
Passage à l'heure d'été le Dimanche 30 Mars 2008 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 26 Octobre 2008 - 01 h 00 (GMT + 1 h ) CET
Année : 2009
Passage à l'heure d'été le Dimanche 29 Mars 2009 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 25 Octobre 2009 - 01 h 00 (GMT + 1 h ) CET
Année : 2010
Passage à l'heure d'été le Dimanche 28 Mars 2010 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 31 Octobre 2010 - 01 h 00 (GMT + 1 h ) CET
Année : 2011
Passage à l'heure d'été le Dimanche 27 Mars 2011 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 30 Octobre 2011 - 01 h 00 (GMT + 1 h ) CET
Année : 2012
Passage à l'heure d'été le Dimanche 25 Mars 2012 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 28 Octobre 2012 - 01 h 00 (GMT + 1 h ) CET
Année : 2013
Passage à l'heure d'été le Dimanche 31 Mars 2013 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 27 Octobre 2013 - 01 h 00 (GMT + 1 h ) CET
Année : 2014
Passage à l'heure d'été le Dimanche 30 Mars 2014 - 01 h 00 (GMT + 2 h ) CEST
Retour à l'heure normale le Dimanche 26 Octobre 2014 - 01 h 00 (GMT + 1 h ) CET
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Cherche date pour changement d'heure

Message par Kwai chang caine »

Effectivement ça peut être utile
Merci 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Cherche date pour changement d'heure

Message par falsam »

Kwai chang caine aime bien répondre aux botx :mrgreen:

Propos de Micoute repris par Katt sur ce même topic un peu plus haut.

http://www.purebasic.fr/french/viewtopi ... 50#p162050
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Cherche date pour changement d'heure

Message par Kwai chang caine »

Image
Pouaaaarffff !!!!
FALSAM y me prend pour un lapin de trois semaines !!! :lol: :lol:

Je sais bien que je suis le "programmeur" le plus null de l'ouest....
Mais pour une fois, j'avais vu que le "kit kat" c'etait "nono le petit robot, l'ami d'ulysse" :D
Je repondais bien au message du dessus, ne t'en déplaise :mrgreen:
Je pensais qu'un MODO, qui passerait par la, "cahin caha" enleverait le vilain message "pabo" du "robo"

Enfin même si c'est pour te foutre de ma mouille, ça me fait plaisir quand même que tu me parles :wink:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
falsam
Messages : 7244
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Cherche date pour changement d'heure

Message par falsam »

Kwai chang caine a écrit :Je repondais bien au message du dessus, ne t'en déplaise
Celui qui date de Mars dernier ? Allez avoue que tu t'es fait avoir. :)

Me moquer de toi ? surement pas. Me moquer gentiment par contre oui.
Kwai chang caine a écrit :FALSAM y me prend pour un lapin de trois semaines !!!
Un lapin qui a cru que Katt était une fille :p
Configuration : Windows 11 Famille 64-bit - PB 6.03 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Cherche date pour changement d'heure

Message par Kwai chang caine »

Me moquer de toi ? surement pas. Me moquer gentiment par contre oui.
T'inquiete, je sais reconnaitre les gentils des méchants...sauf à mon boulot :mrgreen:
Un lapin qui a cru que Katt était une fille :p
Bah je me suis jamais posé la question 8O
Faut dire que depuis LNA qui ne venait plus en partie à cause de "l'ambiance" du forum de l'époque :(
Et ben des filles y'en a autant que dans un monastere.. :(
Et pourtant y parait que y'en a presque autant que les hommes 8O
Et pis...si y'en avait une belle...elle serait pour notre FRED....il le mérite...comme ça ils pourraient nous faire des petits programmeurs avec ASM inside à la naissance :mrgreen:

Remarque, c'est pas plus mal, si c'est pour que je tombe amoureux...ça n'arrangera pas mes capacités déjà bien restreintes à la prog :oops:
Si il faut s'excuser de parler de "BIT" à tout bout de champs :lol:
Remarque je dit ça..mais peut être que l'un de nous ne porte pas le tuyau indispensable à la gente masculine...et nous trompe depuis tout ce temps, va savoir :?
En tout cas c'est pas moi...je l'ai..même si je m'en sert pas souvent :(
Allez avoue que tu t'es fait avoir.
Pour la date, c'est vrai...qu'on me flagelle, m'écartelle en place plublique et jete les morceaux dans un puit de basse fosse...j'avais pas vu :oops:
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre