Conversion DATE

Le
DELEAU Jean-Marie
Bonjour,

Je programme en VB.NET 2008 (version anglaise) qui tourne sur XP(version
française)

Je doit traduire des dates exprimées sous le format jj mois Année en
jj/mm/aaaa
Le mois est exprimé en anglais et 3 lettres (JAN, FEB, MAR, APR, JUN etc)

Par exemple la date 10 FEB 2010 me donne avec Cdate ("10 FEB 2010") -->
10/2/2010.
Ce qui me convient. Ce que je voudrais savoir, Est-ce que cela fonctionne
parce que
j'utilise une version anglaise de VB, ou bien si le mois est exprimé en 3
lettres
il doit toujours etre en anglais quelque que soit la version de VB.

Remarque : 20 MAY 2010 ou 20 MAI 2010 me donnent 20/5/2010, parce qu'ici
le mois
n'est pas une abréviation quelque soit la langue.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LE TROLL
Le #21364481
Bonjour,

C'est quoi la différence entre "année" et "aaaa", je ne comprends rien ?

Bref, alors schématiquement :

Ceci : "10 FEB 2010" = taDate

dim j as long
dim m as long
dim a as long
dim jma as string
dim laDate as Date
j = val(mid(taDate))
select case mid(taDate,3,3)
case "JANV": m = 1
case "FEB": m = 2
' etc
end select
a = val(mid(taDate, 8, 4))
jma = format(j,"00") & "/" & format(m,"00") & "/" & a
laDate = cdate(jma)
-------------

Pour ce qui est des abréviations de mois anglais, je présume que ce
format va se faire au paramètres français de ton ordinateur, donc "feb" =
fev" ?

Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


"DELEAU Jean-Marie" news:4b99e239$0$2862$
Bonjour,

Je programme en VB.NET 2008 (version anglaise) qui tourne sur XP(version
française)

Je doit traduire des dates exprimées sous le format jj mois Année en
jj/mm/aaaa
Le mois est exprimé en anglais et 3 lettres (JAN, FEB, MAR, APR, JUN
etc...)

Par exemple la date 10 FEB 2010 me donne avec Cdate ("10 FEB 2010") -->
10/2/2010.
Ce qui me convient. Ce que je voudrais savoir, Est-ce que cela fonctionne
parce que
j'utilise une version anglaise de VB, ou bien si le mois est exprimé en 3
lettres
il doit toujours etre en anglais quelque que soit la version de VB.

Remarque : 20 MAY 2010 ou 20 MAI 2010 me donnent 20/5/2010, parce qu'ici
le mois
n'est pas une abréviation quelque soit la langue.

DELEAU Jean-Marie
Le #21371581
Je me suis peut-être mal exprimé :
Dans le fichier que je doit traduire, les dates sont de ce FORMAT

10 FEB 2010 je dois traduire 10/2/2010
20 AUG 2011 je dois traduire 20/8/2011
22 DEC 2015 je dois traduire 22/12/2015

Le mois est une abreviation du mois en Anglais.

Si je fait Cdate ("10 FEB 2010"), j'obtient bien 10/2/2010 , c'est ce qu'il
me faut.
Si je fait Cdate ("10 FEV 2010"), j'obtient une erreur.

J'utilise une version de VB anglaise sur un sytème XP en français

Ma question est : Pour utiliser Cdate, Si j'exprime le mois en
abréviation (3 lettres), doit-il toujours
être en anglais quelque soit la localisation du système ?
Fred
Le #21372011
"DELEAU Jean-Marie" groupe de discussion : 4b9ba6c2$0$2883$
Je me suis peut-être mal exprimé :
Dans le fichier que je doit traduire, les dates sont de ce FORMAT

10 FEB 2010 je dois traduire 10/2/2010
20 AUG 2011 je dois traduire 20/8/2011
22 DEC 2015 je dois traduire 22/12/2015

Le mois est une abreviation du mois en Anglais.

Si je fait Cdate ("10 FEB 2010"), j'obtient bien 10/2/2010 , c'est ce
qu'il me faut.
Si je fait Cdate ("10 FEV 2010"), j'obtient une erreur.

J'utilise une version de VB anglaise sur un sytème XP en français

Ma question est : Pour utiliser Cdate, Si j'exprime le mois en
abréviation (3 lettres), doit-il toujours
être en anglais quelque soit la localisation du système ?



Bonjour,
Essaie cela ou une adaptation (code d'une application console simple)
Si j'ai bien compris, la culture des représentations de date en entrée
est connue.
Le code suivant s'exécutera sans erreur quelque soit la localisation du
système (seul l'affichage du résultat sera différent).

Module Module1

Sub Main()
Dim s As System.String = "10 FEB 2010"
Dim c As New System.Globalization.CultureInfo("en-US")
Dim d As System.DateTime = DateTime.Parse(s, c)
Console.WriteLine(d.ToLongDateString)
Console.ReadLine()
End Sub

End Module



--
Fred

Publicité
Poster une réponse
Anonyme