Manipulation de date

Agrec - 4 sept. 2012 à 10:45
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 - 14 oct. 2012 à 16:04
Bonjour à tous,

Je rencontre un problème concernant le format des dates, sous Visual Basic Express 2010. En effet, j'ai créé un objet "DateTimePicker" qui va alimenter une variable appelée Date_T0, mon code étant le suivant:

Dim Date_T0 As Date
Date_T0 = LivraisonDateTimePicker.Text

Or, dans cette configuration, quand je sélectionne par exemple la date du 04/07/2012 via le DateTimePicker, ma variable prend la valeur 07/04/2012 soit le format MM/dd/yyyy...

J'ai essayé de changer le format de ma variable en la forçant en dd/MM/yyyy, mais je n'y arrive pas (mon code semble défectueux).

Aussi, auriez-vous, s'il vous plaît, une solution à me proposer?

11 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
4 sept. 2012 à 13:18
Bonjour,

Regardes DateTime.Parse, tu pourras fournir les informations pour la mise en forme.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Utilisateur anonyme
4 sept. 2012 à 13:23
Bonjour,

Prends l'habitude d'activer Option Strict dans les propriétés de ton projet.
Ton ide te signalera l'erreur sur cette ligne :
Date_T0 = LivraisonDateTimePicker.Text

Un String ne peut être converti en Date.

Il faudrait plutôt écrire :
Date_T0 = LivraisonDateTimePicker.value
0
Je vous remercie pour vos réponses respectives. Je vais les mettre en place dans l'après-midi et vous tiendrai informés des résultats obtenus.

NB: Mes excuses pour la mise en forme. Je vais lire les liens que vous me recommandez et, pour la bonne compréhension de chacun, tacher d'améliorer la mise en forme de mes posts.
0
Je viens de mettre en place la solution de banana32 qui ne m'a pas permis de résoudre mon problème. En effet, bien que le message d'erreur ait disparu lorsque je tente de changer le format de la date, celui-ci reste en mm/dd/yyyy.

Pour information, voici le code modifié:
Date_T0 = Format(LivraisonDateTimePicker.Value, "dd/mm/yyyy")


Je vais essayer la solution de NHenry, mais à première vue, elle me semble compliquée... Je continue donc mes recherches sur Datetime.parse.

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
4 sept. 2012 à 17:47
Bonjour,

Jette un oeil sur CultureInfo dans l'aide. On dirait que la Culture de ton application n'est pas fr-FR, fr-CA, fr-Be ou un autre fr-quelque chose.
0
Utilisateur anonyme
4 sept. 2012 à 19:39
lorsque je tente de changer le format de la date, celui-ci reste en mm/dd/yyyy

Comment t'y prends-tu pour affirmer ceci ? Je suis curieux de le savoir parce que de mon côté, lorsque je fais Messagebox.show(datetimepicker1.value.month) j'ai bien 9 (septembre)
0
Comment t'y prends-tu pour affirmer ceci ? Je suis curieux de le savoir parce que de mon côté, lorsque je fais Messagebox.show(datetimepicker1.value.month) j'ai bien 9 (septembre)


Je vérifie tout simplement la valeur de ma variable au fur et à mesure de l'exécution du code. Ainsi, pour le 09/04/2012, ma variable "Date_T0" prend la valeur 04/09/2012.

Effectivement le DateTimePicker lui est au bon format, et c'est bien ce qui me perturbe le plus. C'est uniquement lorsque je demande à ma variable de prendre la valeur du DateTimePicker que le format est modifié... (le format est modifié uniquement dans la variable).
0
Utilisateur anonyme
5 sept. 2012 à 12:26
Jette un coup d'oeil dans les options régionales de ton panneau de configuration et vérifie si la langue sélectionnée est bien le français.

Pour windows 7 :
0
Bonjour à tous,
Je suis de retour après plusieurs tentatives infructueuses.
Banana32, je te confirme que les options régionales soient bien définies sur Français (France)...
J'ai bien essayé la méthode de nhenry, mais je pense que je n'ai pas bien assimilé le fonctionnement de "Parse"...

Si vous avez d'autres idées, je suis preneur :-)

NB: un grand merci à tous pour votre aide précieuse!
0
Bonjour à tous,

Je viens de faire un nouveau test en intégrant la ligne suivante, mais rien n'y fait...

Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("fr")


Auriez-vous, d'autres suggestions à me faire s'il vous plaît?
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
14 oct. 2012 à 16:04
Bonjour,

Voir avec les surcharges de DateTime.Parse :
http://msdn.microsoft.com/fr-fr/library/ey1cdcx8%28v=vs.80%29.aspx
http://msdn.microsoft.com/fr-fr/library/system.datetime.parse%28v=vs.80%29.aspx

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Rejoignez-nous