Format de Date sous VB.NET

Signaler
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015
-
limpsilver
Messages postés
10
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
2 août 2005
-
J'ai déclaré une date avec

Dim dDate as New DateTime
dDate= Today

la date est sous la forme mm/jj/aa
bien que mes options régionales soient "France"

Comment faire pour obtenir une date (et non pas un string) au format jj/mm/aa ?

Merci

20 réponses

Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Salut,

Dim dDate As New DateTime
dDate = Format(Now(), "dd/mm/yy")


Que ce soit en vB6 ou VB.Net, le système tu retournera la date au format system (en anglais), donc tu doit luui préciser le format.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Merci pour ta réponse

mais je crois que la commande Format renvoit un string, or j'ai besoin d'une date !

As-tu une idée?
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Vu que tu déclare ta variable en DateTime, il n'y a pas de pb, le system fait seul la conversion. tu pourrais très bien éviter de mettre format mais le system te retournerais forcément la date au format U.S.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Merci de ta réponse!
mais j'ai encore un problème.

En fait je ne cherche que à avoir une date au format France.
Mais dans ma variable dDate j'ai la date du jour = 10/9/04
alors qu'elle devrait être 8/10/04.
J'en ai donc déduit que le format d'une date était toujours sour forme US !
Si ce n'est pas le cas !?
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Excuse moi je n'ai pas bien lu to message. La réponse y est en toute lettre.

Mais
dDate = Format(Now(), "dd/mm/yy")


retourne un string ou une date ?

Merci
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
une date au format france

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Chris

Cela ne marche pas sous VB.NET
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Attent je vais voir ça
Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Chris
En lisant la doc de VB.NET je croyais avoir trouver avec ce code:

Dim dd, mm, yy, sDate As String
Dim dDate, dDateF As Date
Dim Format As New System.Globalization.CultureInfo("fr-FR", True)

dDate = Today
dd = CStr(dDate.Day)
mm = CStr(dDate.Month)
yy = CStr(dDate.Year)

sDate = dd & "/" & mm & "/" & yy
dDateF = System.DateTime.Parse(sDate, Format, Globalization.DateTimeStyles.None)

Mais ça ne marche toujours pas !
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Allright,

I have find and test.

Voici ce que j'ai trouver :

Dim dDate As New Date
dDate = Format(Now, "d/mm/yy")


Et la dDate retourne bien un format date conforme : #10/9/2004# (Voir MSDN : "Date, type de données")

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Non cela ne marche pas sous VB.NET
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Autant pour moi, mais il faut écrire
Format(Now, "dd/MM/yy") !
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Sorry, effectivement pour avoir les Zéro devant oui il faut l'écrire.

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Non Chris, il s'agissait du MM au lieu de mm car mm représente les minutes et non les mois.

ceci dit cela ne marche toujours pas!

car si date= 8/10/04
j'obtiens format(date,"dd/MM/yy") = 10/8/04 !!!
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
TamTadaM !!!!!!!

Dim dDate As New Date
      dDate = Format(Now, "d")


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Oui Chris j'avait aussi essayé !

J'ai aussi essayé avec:

dim dDateF as New DateTime()
dDateF = Today
'Supposons que Today = 31/12/2003 format FR
dDatef = Format(dDate, "dd/MM/yy")
'me donne 12/31/03 au format US !!!???

Mes paramètres régionaux sous WinXP sont bien sur France
et si je rajoute la ligne
Thread.CurrentThread.CurrentCulture= New CultureInfo("fr-FR")
cela ne change rien.

?????????????
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
14
Bien alors là y'a pb, car moi voici ce que j'ai :

http://perso.wanadoo.fr/boulas/toto.JPG

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Messages postés
36
Date d'inscription
dimanche 1 juillet 2001
Statut
Membre
Dernière intervention
19 avril 2015

Excuse moi mais ton exemple n'est pas démonstratif
car nous sommes le 10/10/04 et tu ne peux pas voir si le mois est à la place du jour !

Peux tu refaire ton test avec une date pour voir ?
Merci
Messages postés
70
Date d'inscription
mercredi 11 juin 2003
Statut
Membre
Dernière intervention
2 octobre 2006
1
Avant d'afficher la date tu doit changer la culture avec

System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = "dd/MM/yyyy"

glplpmat
Messages postés
10
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
2 août 2005

Moi j'ai un probleme similaire



SELECT * FROM [noteService] WHERE [laDate]=#5/20/2005#



ca marche sous acces mais pas sous vb.net



J'ai essayé plein de version différente ca marche jamais.



PS : comment apres ce genre de probleme peut-on dire que vb.net est un bon language