Convertir des TIMESTAMP en DATE [Résolu]

Signaler
Messages postés
15
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
2 février 2005
-
Messages postés
58
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
4 septembre 2012
-
Bonjour,

Je voudrai convertir des TimeStamp qui sont répertoriés dans un tableau excel en format date classic....donc pour cela je passe par le visual basic...mais malheureusement ce language n'est pas mon fort...donc il me fodrai une solution au plus vite.

Merci

Ex : TimeStamp = 1080513608
--> Date = 29/03/2004

Comment faire pour aller de l'un vers l'autre

9 réponses

Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
ou en divisant par 86400 (nombre de secondes dans un jour) pour avoir le nombre de jours plus la différence égale à 25569 qui est le quantième de 01/01/1970 pour VB (calculé à partir du 30/12/1899)

Dim d As Date
x = 1080513608

d = x / 86400 + 25569

ce qui donne d = "28/03/2004 22:40:08"

Daniel
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
75
Saluut DreamMan
Le TimeStamp correspond au nombre de secondes écoulées depuis le 1er janvier 1970 (date imposée par Apple)
Pour retrouver la date et heure correspondante :
DateAdd("s", 1080513608, "01/01/1970 00:00:00")

Vala
Jack
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
15
Date d'inscription
mercredi 3 novembre 2004
Statut
Membre
Dernière intervention
2 février 2005

Comment es ckil faut que je mette en place le "DateAdd...."????
Messages postés
2
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
25 mars 2009

il n'y a pas quelque chose de faux dans ton calcul ?
1080513608 =>
29/3/2004 à 0:40:08

=>timestamp.fr
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
la date de début est fausse --> différence de 1 heure
  01/01/1970 01:00:00
  (donc ajouter 25569 + 1/24)

ensuite passage à l'heure d'été le 28/03/2004 --> différence de 1 heure
  108043200 --> 28/03/2004 01:00:00
  108046800 --> 28/03/2004 03:00:00
   (il n'y a pas de 28/03/2004 02:00:00)

total = différence de 2 heures

or l'affichage de l'heure d'été se fait en été pour windows
1 heure de plus systématiquement que ce soit une date d'hiver ou d'été

    x = 1080513608

    d = x / 86400 + 25569 + 1/24
    ce qui donne
        d = "28/03/2004 23:40:08" en hiver
        d = "29/03/2004 00:40:08" en été

Daniel
Messages postés
2
Date d'inscription
samedi 6 janvier 2007
Statut
Membre
Dernière intervention
25 mars 2009

Je me doutais quel le soucis venais du décalage horaire ^^
Mais je tenais juste à le signaler. par contre qu'es ce que ton 1/24?
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
29
    1/24 c'est l'heure qui manque (1/24éme de jour)
     à rajouter au 25569 jours du 30/12/1899 00:00:00 au 01/01/1970 00:00:00
     soit 25569,0416666..

     Dim dte As Date
    
     dte = "01/01/1970 01:00:00"
    
     MsgBox CDbl(dte)

Daniel
Messages postés
1
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
9 mars 2010

J'ai bien compris qu'il fallait ajouter 1 heure en hiver et 2 heures en été, mais ce que je ne sais pas, c'est comment on détermine que l'on est en hiver ou en été?
Messages postés
58
Date d'inscription
vendredi 24 octobre 2003
Statut
Membre
Dernière intervention
4 septembre 2012

Le timestamp correspond au nombre de secondes écoulées depuis le 01/01/1970 00:00:00 UTC, c'est-à-dire en temps universel coordonné. C'est lors de l'application du fuseau horaire que l'on tiens compte de l'heure d'été.

http://fr.wikipedia.org/wiki/Heure_Unix