TimeZonesView
- Philippe_GEORGES
- Messages : 138
- Inscription : mer. 28/janv./2009 13:28
TimeZonesView
Bonjour à tous,
Sur le site nirsoft.net, on peut trouver un petit programme très pratique : timezonesview.exe
Ce programme permet d'obtnir les décallages horaires suivant l'heure d'été....etc.
Je souhaite faire la même application en Purebasic, avec la possibilité toutefois de choisir l'année, qui ne sera pas forcément celle en cours. (uniquement pour PC)
Si quelqu'un a une idée ou mieux, a déjà traité ce problème. Quelles sont les API à utiliser....
Merci d'avance,
Phil
Sur le site nirsoft.net, on peut trouver un petit programme très pratique : timezonesview.exe
Ce programme permet d'obtnir les décallages horaires suivant l'heure d'été....etc.
Je souhaite faire la même application en Purebasic, avec la possibilité toutefois de choisir l'année, qui ne sera pas forcément celle en cours. (uniquement pour PC)
Si quelqu'un a une idée ou mieux, a déjà traité ce problème. Quelles sont les API à utiliser....
Merci d'avance,
Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Re: TimeZonesView
Il fut un temps où on pouvait telecharger une base de données de toutes les villes du monde (1G0 ! décompressée) avec leur coordonnées, leur heure d'été et leur fuseau.
C'était ici https://geonames.nga.mil/gns/html/cntyf ... 200713.zip
En cherchant bien...
M.
C'était ici https://geonames.nga.mil/gns/html/cntyf ... 200713.zip
En cherchant bien...
M.
-
- Messages : 604
- Inscription : lun. 26/avr./2010 16:14
- Localisation : S 48° 52' 31'' / O 123° 23' 33''
Re: TimeZonesView
Salut,
Jette un coup d'oeil à l'API SystemTimeToTzSpecificLocalTime
Note : Pour récupérer les infos du système courant, il y a GetTimeZoneInformation
Jette un coup d'oeil à l'API SystemTimeToTzSpecificLocalTime
Note : Pour récupérer les infos du système courant, il y a GetTimeZoneInformation
Re: TimeZonesView
Bonjour Philippe_Georges, voilà ce que j'ai.
Code : Tout sélectionner
Procedure.s ZoneFuseau()
; Retourne le nom du fuseau horaire
Protected TimeZoneInfo.TIME_ZONE_INFORMATION
Protected i=0, NomStandard$=""
GetTimeZoneInformation_(TimeZoneInfo)
While TimeZoneInfo\StandardName[i]<>0 And i<=32
NomStandard$ + Chr(TimeZoneInfo\StandardName[i])
i + 1
Wend
ProcedureReturn NomStandard$
EndProcedure
Debug ZoneFuseau()
Dernière modification par Micoute le lun. 13/mai/2024 9:14, modifié 1 fois.
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 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
Re: TimeZonesView
Sinon, j'ai ça.
Code : Tout sélectionner
Procedure SiAnneeBissextile(Annee.q) ;Indique si l'année donnée est bissextile
If ((Annee % 4) = 0)
If (Annee % 100) Or ((Annee % 400) = 0)
ProcedureReturn #True
EndIf
EndIf
EndProcedure
Procedure JoursDansMois(Annee, Mois) ;Retoure le nombre de jours dans le mois donné
Select Mois
Case 1,3,5,7,8,10,12
ProcedureReturn 31
Case 4,6,9,11
ProcedureReturn 30
Default
ProcedureReturn 28 + SiAnneeBissextile(Annee)
EndSelect
EndProcedure
Procedure.b JourDeSemaine(Date.q) ;Renvoie la valeur du jour dans la semaine de la date spécifiée (0 = dimanche, 6 = samedi).
Protected Jours.q, joursemaine.b
If (Date < 0)
ProcedureReturn 0
EndIf
Jours = Date/24/60/60
Jours + 1
joursemaine = Jours % 7
ProcedureReturn joursemaine
EndProcedure
Procedure TrouverQuatriemeDimanche(Annee,Mois)
Protected Jour=22
Protected DateQuatriemeDimanche=Date(Annee,Mois,Jour,0,0,0)
;Cherche le Quatrième dimanche
While JourDeSemaine(DateQuatriemeDimanche)<>0
Jour+1
DateQuatriemeDimanche=Date(Annee,Mois,Jour,0,0,0)
Wend
ProcedureReturn DateQuatriemeDimanche
EndProcedure
Procedure TrouverDernierDimanche(Annee,Mois)
Protected Jour=JoursDansMois(Annee, Mois) - 6
Protected DateDernierDimanche=Date(Annee,Mois,Jour,0,0,0)
;Cherche le dernier dimanche
While JourDeSemaine(DateDernierDimanche)<>0
Jour+1
DateDernierDimanche=Date(Annee,Mois,Jour,0,0,0)
Wend
ProcedureReturn DateDernierDimanche
EndProcedure
Procedure Heure_d_ete(Annee=-1) ;l'heure d'été commence toujours le dernier dimanche de mars
Protected Resultat = TrouverDernierDimanche(Annee,3)
If Resultat = -1
Resultat = TrouverQuatriemeDimanche(Annee,3)
EndIf
ProcedureReturn Resultat
EndProcedure
Procedure Heure_d_hiver(Annee=-1) ;l'heure d'hiver commence toujours le dernier dimanche d'octobre
Protected Resultat
Resultat = TrouverDernierDimanche(Annee,10)
If Resultat = -1
Resultat = TrouverQuatriemeDimanche(Annee,10)
EndIf
ProcedureReturn Resultat
EndProcedure
Debug FormatDate("%dd/%mm/%yyyy", Heure_d_ete(2024))
Debug FormatDate("%dd/%mm/%yyyy", Heure_d_hiver(2024))
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 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Un homme doit être poli, mais il doit aussi être libre !
- Philippe_GEORGES
- Messages : 138
- Inscription : mer. 28/janv./2009 13:28
Re: TimeZonesView
Merci Micoute,
Mais si je veux les informations pour un autre point du globe ?
Si tu as une idée !
Phil
Mais si je veux les informations pour un autre point du globe ?
Si tu as une idée !
Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Re: TimeZonesView
bjr Philippe
je connais bien ce problème de la gestion de la longitude.
alors voilà ce que je pense des fuseaux horaires
pour un thème Astral la domification doit tenir compte de la longitude qui peut nous faire modifié de plus ou moins 12 heures
les calculs de la domification du lieu.
donc il faut gérer le temps universel de la date de l heure et la longitude en degrés 12h/180deg en plus ou en moins des calculs horaires
En astrologie ce qui compte c'est l heure du soleil (GMT)
le problème en astrologie c' est que déjà la gestion de l heure d'été peut nous faire changer de date...et très souvent revenir
au jour d' avant pour les calculs de Domification.
Idem pour la longitude, perso je n utilise pas les fuseaux horaires qui ne servent que pour éviter les accidents de trains,
je préfère m'en passer car comme je l'ai dit auparavant la longitude peut atteindre
plus 12 heures en Est et moins 12 heures en Ouest
donc là aussi on peut se retrouver le jour d' avant ou le jour d'après pour les calculs du thème astral
Exemple pour le France entre les villes de Strasbourg long: 7.75 Est et de Brest: 4.486 Ouest
ce qui donnera une différence de longitude de: 12. 236 = 7.75 + 4.486
12 degrés 236 dec. il y auras des différences entre les Positions de la domification pour un thème qui a été établi pour Brest
et celui établi pour pour Strasbourg pour une date identique en heure d'hiver ou d'été.
je rappel que ces villes ont un fuseau horaire identique pour la France Paris (Greenwich) pour son heure légale
Donc tenir compte d'un fuseau horaire va réduire les différences.
mais la gestion du changement de plus ou moins 1 jour restera à gérer.
donc pas besoin de fuseau horaire pour le calcul d'un thème astral
il faut gérer en amont tous ces décalage horaires de date d' heure légale et de longitude.
et ainsi obtenir la date et l'heure du calcul du thème dans les éphémérides
Il est important de se rappeler que c'est la verticale du lieu qui compte pour établir un thème astral complet.
Cordialement
je connais bien ce problème de la gestion de la longitude.
alors voilà ce que je pense des fuseaux horaires

pour un thème Astral la domification doit tenir compte de la longitude qui peut nous faire modifié de plus ou moins 12 heures
les calculs de la domification du lieu.
donc il faut gérer le temps universel de la date de l heure et la longitude en degrés 12h/180deg en plus ou en moins des calculs horaires
En astrologie ce qui compte c'est l heure du soleil (GMT)
le problème en astrologie c' est que déjà la gestion de l heure d'été peut nous faire changer de date...et très souvent revenir
au jour d' avant pour les calculs de Domification.
Idem pour la longitude, perso je n utilise pas les fuseaux horaires qui ne servent que pour éviter les accidents de trains,
je préfère m'en passer car comme je l'ai dit auparavant la longitude peut atteindre
plus 12 heures en Est et moins 12 heures en Ouest
donc là aussi on peut se retrouver le jour d' avant ou le jour d'après pour les calculs du thème astral
Exemple pour le France entre les villes de Strasbourg long: 7.75 Est et de Brest: 4.486 Ouest
ce qui donnera une différence de longitude de: 12. 236 = 7.75 + 4.486
12 degrés 236 dec. il y auras des différences entre les Positions de la domification pour un thème qui a été établi pour Brest
et celui établi pour pour Strasbourg pour une date identique en heure d'hiver ou d'été.
je rappel que ces villes ont un fuseau horaire identique pour la France Paris (Greenwich) pour son heure légale
Donc tenir compte d'un fuseau horaire va réduire les différences.
mais la gestion du changement de plus ou moins 1 jour restera à gérer.
donc pas besoin de fuseau horaire pour le calcul d'un thème astral
il faut gérer en amont tous ces décalage horaires de date d' heure légale et de longitude.
et ainsi obtenir la date et l'heure du calcul du thème dans les éphémérides
Il est important de se rappeler que c'est la verticale du lieu qui compte pour établir un thème astral complet.
Cordialement
- Philippe_GEORGES
- Messages : 138
- Inscription : mer. 28/janv./2009 13:28
Re: TimeZonesView
Merci Kernadec !!
Je sais, je suis d'accord avec toi ! Le problème de l'heure d'été est aussi un souci majeur. Simplement, l'heure d'été ne s'applique par partout, d'où l'utilité de ce petit programme pour savoir s'il faut ou non supprimer une heure !
C'est pour cette raison que je m'interrogeais sur ce point !
Voilà.
Phil
Je sais, je suis d'accord avec toi ! Le problème de l'heure d'été est aussi un souci majeur. Simplement, l'heure d'été ne s'applique par partout, d'où l'utilité de ce petit programme pour savoir s'il faut ou non supprimer une heure !
C'est pour cette raison que je m'interrogeais sur ce point !
Voilà.
Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com