Convertir Serial date a une date format YYYY-MM-dd [Résolu]

Signaler
Messages postés
110
Date d'inscription
vendredi 1 décembre 2006
Statut
Membre
Dernière intervention
14 décembre 2011
-
Renfield
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
-
Salut tout le monde,
J'aimerais bien trouvé une fonction pour convertir une date de format serial 39794 a 2008-12-12

Merci et bonne journée

6 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
j'ai même trouvé plus court :

TextBox1.Text = DateTime.FromOADate(39794)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
y'a une partie convertion, pour obtenir un DateTime valide, puis un formatage pour obtenir yyyy-MM-dd :

Dim dat As New DateTime(1899, 12, 30)

dat = dat.AddDays(39794)
MsgBox(dat.ToString("yyyy-MM-dd"))
Messages postés
122
Date d'inscription
dimanche 19 mars 2006
Statut
Membre
Dernière intervention
18 juillet 2009

Essaye celà  :  Label1.Caption = CDate(39794)
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
Où comment coder du code .NET invalide.
l'as tu toi même essayé ?

"Erreur: Une valeur de type 'Integer' ne peut pas être convertie en 'Date'."

ton code est valable en VB6, il faudrait simplement que tu formate le résultat comme demandé.

concernant mon code, il est fondé:
39794 est un Double, correspondant au nombre de jours écoulés depuis le 30 décembre 1899 à minuit.
Messages postés
110
Date d'inscription
vendredi 1 décembre 2006
Statut
Membre
Dernière intervention
14 décembre 2011
1
Merci Renfield,
super cool ta fonction !!!!

Merci
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
60
y'a plus qu'a combiner les deux:

TextBox1.Text = DateTime.FromOADate(39794).ToString("yyyy-MM-dd")