OVH Cloud OVH Cloud

Dysfonctionnement DateHeureLocaleVersUTC ?

28 réponses
Avatar
Yannick
Bonjour

Je rencontre un problème à l'utilisation de la fonction
DateHeureLocaleVersUTC (je me sert de cette fonction afin de vérifier
si un fichier a été modifié).

Le problème est que la date/heure UTC d'un fichier (donnée par la
fonction DateHeureLocaleVersUTC), change au passage à l'heure d'été
uniquement pour les fichiers modifiés prendant la période d'hiver !!!


Concrêtement

Le fichier en question a été modifié, la dernière fois, le 02/03/2009,
à 7H19Mn47 (en heure d'hiver)

Jusqu'à samedi :
fDateHeure donnait 20090302071947 -> OK
DateHeureLocaleVersUTC(20090302071947) donnait -> 20090302061947000 ->
OK (1 heure de décallage)

Le problème est à partir de dimanche (passage en heure d'été) :
fDateHeure donne 20090302081947 -> OK (1 heure de plus car passage en
heure d'été)
DateHeureLocaleVersUTC(20090302081947) donne -> 20090302071947000 ->
PROBLEME !!!!!!


Y aurtait-il quelque chose que je fais mal dans l'utilisation
DateHeureLocaleVersUTC ?


Merci pour vos réponses
Yannick

10 réponses

1 2 3
Avatar
Yannick
Dans son message précédent, Romain PETIT a écrit :
Yannick a formulé ce lundi :
La fonction DateHeureLocaleVersUTC me semble donc bugger ?



Fichier modifié en heure d'hiver :
fDate(fichier) => dDateHeureFichier
DateHeureLocaleVersUTC(dDateHeureFichier) donne dDateHeureFichier-1h
(DateHeureUTCVersLocale(dDateHeureFichier) donne dDateHeureFichier+1h)

Fichier modifié en heure d'été :
fDate(fichier) => dDateHeureFichier
DateHeureLocaleVersUTC(dDateHeureFichier) donne dDateHeureFichier-2h
(DateHeureUTCVersLocale(dDateHeureFichier) donne dDateHeureFichier+2h)

Ca me semble cohérent.



Romain

Peux-tu faire le test suivant :

Info(fDateHeure("TonFichier"),DateHeureLocaleVersUTC(fDateHeure("TonFichier")))


Si tu remplaces "TonFichier" par un fichier modifié aujourd'hui, il y a
bien 2 heures de décallage.
Si tu remplaces "TonFichier" par un fichier modifié avant le changement
d'heure, il n'y a qu'1 heure de décallage...
Avatar
Romain PETIT
Yannick a formulé la demande :

Si tu remplaces "TonFichier" par un fichier modifié aujourd'hui, il y a bien
2 heures de décallage.
Si tu remplaces "TonFichier" par un fichier modifié avant le changement
d'heure, il n'y a qu'1 heure de décallage...



Bé oui, c'est ce que j'ai fait (Fichier modifié en heure d'hiver ou
d'été)

A+

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
Avatar
Yannick
Daniel a pensé très fort :
Yannick a écrit :
Daniel a utilisé son clavier pour écrire :
Yannick a écrit :
Bonjour

Je rencontre un problème à l'utilisation de la fonction
DateHeureLocaleVersUTC (je me sert de cette fonction afin de vérifier si
un fichier a été modifié).

Le problème est que la date/heure UTC d'un fichier (donnée par la
fonction DateHeureLocaleVersUTC), change au passage à l'heure d'été
uniquement pour les fichiers modifiés prendant la période d'hiver !!!


Concrêtement

Le fichier en question a été modifié, la dernière fois, le 02/03/2009, à
7H19Mn47 (en heure d'hiver)

Jusqu'à samedi :
fDateHeure donnait 20090302071947 -> OK
DateHeureLocaleVersUTC(20090302071947) donnait -> 20090302061947000 -> OK
(1 heure de décallage)

Le problème est à partir de dimanche (passage en heure d'été) :
fDateHeure donne 20090302081947 -> OK (1 heure de plus car passage en
heure d'été)
DateHeureLocaleVersUTC(20090302081947) donne -> 20090302071947000 ->
PROBLEME !!!!!!


Y aurtait-il quelque chose que je fais mal dans l'utilisation
DateHeureLocaleVersUTC ?


Merci pour vos réponses
Yannick





Bonjour,

la fonction je la comprends comme toi. En heure d'été tu devrais avoir -2
heures.

Je viens de tester sous WD10, tu as bien 2 heures de décalage.




Intéressant

Dans ton test, as-tu pris un fichier qui a été modifié en heure d'hiver ?
Car si tu fais le test avec un fichier modifié aujourd'hui, tu ne dois pas
avoir le problème.

Que ce sois en Wd11/12/14 : j'ai le même comportement

Merci pour ta réponse





j'ai testé uniquement avec un paramètre passé en "dur".

2009010112000000 renvoie 2009010110000000
2009033012000000 renvoie 2009033010000000

voir si ta partition est en NTFS car, il me semble que Windows se comporte
différemment en fonction du type de partition lorsque tu fais fdatetime.




j'ai fait le même test, avec les paramètres en "dur"
2009010112000000 renvoie 2009010111000000 --> PROBLEME
2009033012000000 renvoie 2009033010000000

Je suis bien en NTFS

Peux-tu faire le test sur une version wd11 / 12 ou 14 ?
Avatar
Yannick
Romain PETIT a couché sur son écran :
Yannick a formulé la demande :

Si tu remplaces "TonFichier" par un fichier modifié aujourd'hui, il y a
bien 2 heures de décallage.
Si tu remplaces "TonFichier" par un fichier modifié avant le changement
d'heure, il n'y a qu'1 heure de décallage...



Bé oui, c'est ce que j'ai fait (Fichier modifié en heure d'hiver ou d'été)

A+



Effectivement, il me manque aussi 1 heure de sommeil !!!

Donc tu as bien le même problème
Il ne me reste plus qu'à trouver un contournement

A+
Avatar
Daireaux Jean-Baptiste
Yannick a écrit :
Bonjour

Je rencontre un problème à l'utilisation de la fonction
DateHeureLocaleVersUTC (je me sert de cette fonction afin de vérifier si
un fichier a été modifié).

Le problème est que la date/heure UTC d'un fichier (donnée par la
fonction DateHeureLocaleVersUTC), change au passage à l'heure d'été
uniquement pour les fichiers modifiés prendant la période d'hiver !!!


Concrêtement

Le fichier en question a été modifié, la dernière fois, le 02/03/2009, à
7H19Mn47 (en heure d'hiver)

Jusqu'à samedi :
fDateHeure donnait 20090302071947 -> OK
DateHeureLocaleVersUTC(20090302071947) donnait -> 20090302061947000 ->
OK (1 heure de décallage)

Le problème est à partir de dimanche (passage en heure d'été) :
fDateHeure donne 20090302081947 -> OK (1 heure de plus car passage en
heure d'été)
DateHeureLocaleVersUTC(20090302081947) donne -> 20090302071947000 ->
PROBLEME !!!!!!


Y aurtait-il quelque chose que je fais mal dans l'utilisation
DateHeureLocaleVersUTC ?


Merci pour vos réponses
Yannick





Je pense que c'est fdateheure qui déconne dans ton exemple.
20090302081947 appartient à la période de l'heure d'hiver donc sa
transformation en heure UTC donne +1h.

fdateheure n'a pas a changer l'heure.

J.B.D.
Avatar
Yannick
Daireaux Jean-Baptiste avait énoncé :
Yannick a écrit :
Bonjour

Je rencontre un problème à l'utilisation de la fonction
DateHeureLocaleVersUTC (je me sert de cette fonction afin de vérifier si un
fichier a été modifié).

Le problème est que la date/heure UTC d'un fichier (donnée par la fonction
DateHeureLocaleVersUTC), change au passage à l'heure d'été uniquement pour
les fichiers modifiés prendant la période d'hiver !!!


Concrêtement

Le fichier en question a été modifié, la dernière fois, le 02/03/2009, à
7H19Mn47 (en heure d'hiver)

Jusqu'à samedi :
fDateHeure donnait 20090302071947 -> OK
DateHeureLocaleVersUTC(20090302071947) donnait -> 20090302061947000 -> OK
(1 heure de décallage)

Le problème est à partir de dimanche (passage en heure d'été) :
fDateHeure donne 20090302081947 -> OK (1 heure de plus car passage en heure
d'été)
DateHeureLocaleVersUTC(20090302081947) donne -> 20090302071947000 ->
PROBLEME !!!!!!


Y aurtait-il quelque chose que je fais mal dans l'utilisation
DateHeureLocaleVersUTC ?


Merci pour vos réponses
Yannick





Je pense que c'est fdateheure qui déconne dans ton exemple.
20090302081947 appartient à la période de l'heure d'hiver donc sa
transformation en heure UTC donne +1h.

fdateheure n'a pas a changer l'heure.

J.B.D.



Pas d'accord
fdateheure renvoie bien la même date/heure qu'on peut voir sous
l'explorateur windows.
Ce qui ne va pas, c'est que DateHeureLocaleVersUTC(20090302081947)
donne 20090302071947000, alors qu'on est maintenant en heure d'été !


Personne n'utilise donc DateHeureLocaleVersUTC afin de tester si un
fichier à évolué ?
Comment contourner ce problème ?
Avatar
Daireaux Jean-Baptiste
Yannick a écrit :
Daireaux Jean-Baptiste avait énoncé :
Yannick a écrit :
Bonjour

Je rencontre un problème à l'utilisation de la fonction
DateHeureLocaleVersUTC (je me sert de cette fonction afin de vérifier
si un fichier a été modifié).

Le problème est que la date/heure UTC d'un fichier (donnée par la
fonction DateHeureLocaleVersUTC), change au passage à l'heure d'été
uniquement pour les fichiers modifiés prendant la période d'hiver !!!


Concrêtement

Le fichier en question a été modifié, la dernière fois, le
02/03/2009, à 7H19Mn47 (en heure d'hiver)

Jusqu'à samedi :
fDateHeure donnait 20090302071947 -> OK
DateHeureLocaleVersUTC(20090302071947) donnait -> 20090302061947000
-> OK (1 heure de décallage)

Le problème est à partir de dimanche (passage en heure d'été) :
fDateHeure donne 20090302081947 -> OK (1 heure de plus car passage en
heure d'été)
DateHeureLocaleVersUTC(20090302081947) donne -> 20090302071947000 ->
PROBLEME !!!!!!


Y aurtait-il quelque chose que je fais mal dans l'utilisation
DateHeureLocaleVersUTC ?


Merci pour vos réponses
Yannick





Je pense que c'est fdateheure qui déconne dans ton exemple.
20090302081947 appartient à la période de l'heure d'hiver donc sa
transformation en heure UTC donne +1h.

fdateheure n'a pas a changer l'heure.

J.B.D.



Pas d'accord
fdateheure renvoie bien la même date/heure qu'on peut voir sous
l'explorateur windows.
Ce qui ne va pas, c'est que DateHeureLocaleVersUTC(20090302081947) donne
20090302071947000, alors qu'on est maintenant en heure d'été !


Personne n'utilise donc DateHeureLocaleVersUTC afin de tester si un
fichier à évolué ?
Comment contourner ce problème ?





Alors l'explorateur windows a aussi un bug ! l'heure n'a pas à changer !
Si ton fichier a été modifié le 2 mars à 7h19. il n'y a pas de raison
logique à modifier le fait. 'Le fichier a été modifié à 7h19 le 2 mars'
est un fait intangible. Maintenant que je suis le 31 mars, qu'il me dise
que l'évènement a eu lieu le 2 mars à 8h19 est une grave erreur.

Je pense que windows renvoie l'heure à laquelle il a appliqué le
changement de fuseau horaire sans se préoccuper de la date de l'évènement.

Quel windows au fait ?

Je trouve encore une fois que 'DateHeureLocaleVersUTC' fonctionne
correctement : le 2 mars 7h19 devient en UTC le 2 mars 06h19 car le 2
mars est dans la période heure d'hiver.

J.B.D.
Avatar
Yannick
Daireaux Jean-Baptiste avait écrit le 31/03/2009 :
Yannick a écrit :
Daireaux Jean-Baptiste avait énoncé :
Yannick a écrit :
Bonjour

Je rencontre un problème à l'utilisation de la fonction
DateHeureLocaleVersUTC (je me sert de cette fonction afin de vérifier si
un fichier a été modifié).

Le problème est que la date/heure UTC d'un fichier (donnée par la
fonction DateHeureLocaleVersUTC), change au passage à l'heure d'été
uniquement pour les fichiers modifiés prendant la période d'hiver !!!


Concrêtement

Le fichier en question a été modifié, la dernière fois, le 02/03/2009, à
7H19Mn47 (en heure d'hiver)

Jusqu'à samedi :
fDateHeure donnait 20090302071947 -> OK
DateHeureLocaleVersUTC(20090302071947) donnait -> 20090302061947000 -> OK
(1 heure de décallage)

Le problème est à partir de dimanche (passage en heure d'été) :
fDateHeure donne 20090302081947 -> OK (1 heure de plus car passage en
heure d'été)
DateHeureLocaleVersUTC(20090302081947) donne -> 20090302071947000 ->
PROBLEME !!!!!!


Y aurtait-il quelque chose que je fais mal dans l'utilisation
DateHeureLocaleVersUTC ?


Merci pour vos réponses
Yannick





Je pense que c'est fdateheure qui déconne dans ton exemple.
20090302081947 appartient à la période de l'heure d'hiver donc sa
transformation en heure UTC donne +1h.

fdateheure n'a pas a changer l'heure.

J.B.D.



Pas d'accord
fdateheure renvoie bien la même date/heure qu'on peut voir sous
l'explorateur windows.
Ce qui ne va pas, c'est que DateHeureLocaleVersUTC(20090302081947) donne
20090302071947000, alors qu'on est maintenant en heure d'été !


Personne n'utilise donc DateHeureLocaleVersUTC afin de tester si un fichier
à évolué ?
Comment contourner ce problème ?





Alors l'explorateur windows a aussi un bug ! l'heure n'a pas à changer !
Si ton fichier a été modifié le 2 mars à 7h19. il n'y a pas de raison logique
à modifier le fait. 'Le fichier a été modifié à 7h19 le 2 mars' est un fait
intangible. Maintenant que je suis le 31 mars, qu'il me dise que l'évènement
a eu lieu le 2 mars à 8h19 est une grave erreur.

Je pense que windows renvoie l'heure à laquelle il a appliqué le changement
de fuseau horaire sans se préoccuper de la date de l'évènement.

Quel windows au fait ?

Je trouve encore une fois que 'DateHeureLocaleVersUTC' fonctionne
correctement : le 2 mars 7h19 devient en UTC le 2 mars 06h19 car le 2 mars
est dans la période heure d'hiver.

J.B.D.



Il s'agit de XP SP3

Mais si DateHeureLocaleVersUTC réagit alors correctement, comment faire
pour tester si un fichier a été modifié ???
Avatar
Daniel
Daireaux Jean-Baptiste a écrit :
Yannick a écrit :
Daireaux Jean-Baptiste avait énoncé :
Yannick a écrit :
Bonjour

Je rencontre un problème à l'utilisation de la fonction
DateHeureLocaleVersUTC (je me sert de cette fonction afin de
vérifier si un fichier a été modifié).

Le problème est que la date/heure UTC d'un fichier (donnée par la
fonction DateHeureLocaleVersUTC), change au passage à l'heure d'été
uniquement pour les fichiers modifiés prendant la période d'hiver !!!


Concrêtement

Le fichier en question a été modifié, la dernière fois, le
02/03/2009, à 7H19Mn47 (en heure d'hiver)

Jusqu'à samedi :
fDateHeure donnait 20090302071947 -> OK
DateHeureLocaleVersUTC(20090302071947) donnait -> 20090302061947000
-> OK (1 heure de décallage)

Le problème est à partir de dimanche (passage en heure d'été) :
fDateHeure donne 20090302081947 -> OK (1 heure de plus car passage
en heure d'été)
DateHeureLocaleVersUTC(20090302081947) donne -> 20090302071947000 ->
PROBLEME !!!!!!


Y aurtait-il quelque chose que je fais mal dans l'utilisation
DateHeureLocaleVersUTC ?


Merci pour vos réponses
Yannick





Je pense que c'est fdateheure qui déconne dans ton exemple.
20090302081947 appartient à la période de l'heure d'hiver donc sa
transformation en heure UTC donne +1h.

fdateheure n'a pas a changer l'heure.

J.B.D.



Pas d'accord
fdateheure renvoie bien la même date/heure qu'on peut voir sous
l'explorateur windows.
Ce qui ne va pas, c'est que DateHeureLocaleVersUTC(20090302081947)
donne 20090302071947000, alors qu'on est maintenant en heure d'été !


Personne n'utilise donc DateHeureLocaleVersUTC afin de tester si un
fichier à évolué ?
Comment contourner ce problème ?





Alors l'explorateur windows a aussi un bug ! l'heure n'a pas à changer !
Si ton fichier a été modifié le 2 mars à 7h19. il n'y a pas de raison
logique à modifier le fait. 'Le fichier a été modifié à 7h19 le 2 mars'
est un fait intangible. Maintenant que je suis le 31 mars, qu'il me dise
que l'évènement a eu lieu le 2 mars à 8h19 est une grave erreur.

Je pense que windows renvoie l'heure à laquelle il a appliqué le
changement de fuseau horaire sans se préoccuper de la date de l'évènement.

Quel windows au fait ?

Je trouve encore une fois que 'DateHeureLocaleVersUTC' fonctionne
correctement : le 2 mars 7h19 devient en UTC le 2 mars 06h19 car le 2
mars est dans la période heure d'hiver.

J.B.D.




Bonjour,

l'explorateur Windows se comporte de la sorte :
fichier A créé le 1 er janvier (heure d'hiver) à 12h00

si on regarde heure de création en heure d'hiver on a 12h00
si on regarde heure de création de ce même fichier en été on a 13h00


2000,XP, Vista en NTSF, avec horloge en UTC.

C'est le comportement attendu d'un local time /utc.

D'où l'intérêt de la fonction "DateHeureLocaleVersUTC" qui devrait
afficher un delta d'une heure en hiver et 2 heure en été.

Cette fonction est OK en WD 10. Je ne peux pas tester en version
supérieure car je ne les ai pas.



--
suivre ce lien pour répondre:
http://cerbermail.com/?2KrV3YZXnn
Daniel
;-)
Avatar
Romain PETIT
Yannick a émis l'idée suivante :
Personne n'utilise donc DateHeureLocaleVersUTC afin de tester si un fichier à
évolué ?
Comment contourner ce problème ?



Utiliser un Hash...

--
Romain PETIT
contact : http://cerbermail.com/?O16kfXOFcq
+-+ posté sur Usenet avec MesNews et non depuis un forum web +-+
news:fr.comp.developpement.agl.windev
http://www.mesnews.net/
http://fr.wikipedia.org/wiki/Newsgroup
1 2 3