Nous sommes actuellement le 12 Juil 2026, 02:49

Le fuseau horaire est UTC-5 heures [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 9 message(s) ] 
Auteur Message
 Sujet du message: VS 2005 Vieille date
MessagePublié: 24 Jan 2007, 11:42 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 22:38
Message(s) : 5949
Localisation : Quebec
Salut,

J'ai un tit trouble, j'ai monté une App en VB.Net dans Visual Studio 2005. Je récupere du data d'un vieux FoxPro 2.5 pour le pitché dans du MySQL. Les dates de FoxPro sont dans un champ texte que je convertie en date pour le mettre dans un champ Date de MySQL. Jusque là, pas de problème.

Sauf que j'ai des dates antérieurs à 1925 et la fonction CDate() me dit que les dates ne sont pas valide, des que c'est en haut de 1925, sa passe sans le moindre problème. Avez vous une idée de quoi faire pour resoudre le trouble ?

_________________
Herakles Informatique Inc
Collaborateur pour HardGamers


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 24 Jan 2007, 12:17 
Hors-ligne
Toujours là!
Toujours là!
Avatar de l’utilisateur

Inscription : 08 Jan 2002, 14:51
Message(s) : 1337
Localisation : Québec
Je viens de tester ceci en VB.Net et ça fonctionne très bien.

Code :
        Dim MyString As String = "Jan 1, 1920"
        Dim MyDateTime As DateTime = DateTime.Parse(MyString)
        Console.WriteLine(MyDateTime)


Vous pouvez surement convertir ce code pour vos besoin.


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 24 Jan 2007, 12:33 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 22:38
Message(s) : 5949
Localisation : Quebec
Je vais essayer DateTime.Parse, moi, j'utilise CDate en ce moment.

_________________
Herakles Informatique Inc
Collaborateur pour HardGamers


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 24 Jan 2007, 12:40 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 22:38
Message(s) : 5949
Localisation : Quebec
Cela ne marche pas. Ma date est au format suivant : 25/05/1902 et CDate ou DateTime.Parse n'arrive pas à la convertir.

_________________
Herakles Informatique Inc
Collaborateur pour HardGamers


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 24 Jan 2007, 19:17 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
J'aurais cru que ça aurais marché en fr-CA, mais non. En tout cas, en-GB fonctionne pour ce format de date.
Code :
Dim maDate As Date

Dim culture As System.Globalization.CultureInfo = New System.Globalization.CultureInfo("en-GB")

maDate = DateTime.Parse("25/05/1902", culture, System.Globalization.DateTimeStyles.NoCurrentDateDefault)

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 25 Jan 2007, 08:34 
Hors-ligne
Petit nouveau
Petit nouveau

Inscription : 05 Déc 2006, 12:14
Message(s) : 39
Localisation : Brossard
Pour savoir quel format est acceptable, regarde dans le panneau de configuration, Options régionales. Le format "short date" pour:

canadien-français est 2007-01-25
français-France est 25/01/2007
canadien-anglais est 25/01/2007
anglais-US est 1/25/2007
etc.


Alors, comme a fait Jump, le mieux ça serait peut-être de spécifier la CultureInfo


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 25 Jan 2007, 09:11 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 07 Jan 2002, 00:24
Message(s) : 5834
Et dans le cas éventuel où tu aurais un format de date vraiment très étrange, c'est aussi possible de créer un CultureInfo qui aura tes propres paramètres.
Il faut que ça soit vraiment nécessaire car ça demande un peu plus de code.

_________________
This posting is provided "AS IS" with no warranties, and confers no rights!
©2006 - 2014 Jump


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 25 Jan 2007, 10:23 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 22:38
Message(s) : 5949
Localisation : Quebec
Excellent, je vais le faire comme ça, mais c'est étrange que ça marche pour les autres dates mais pas pour celle là quand même. Le plus étrange, c'est que sous VB6, la fonction CDate transforme la date sans le moindre problème, allez comprendre des fois.

_________________
Herakles Informatique Inc
Collaborateur pour HardGamers


Haut
 Profil  
Répondre en citant  
 Sujet du message:
MessagePublié: 25 Jan 2007, 10:37 
Hors-ligne
Référence
Référence
Avatar de l’utilisateur

Inscription : 06 Jan 2002, 22:38
Message(s) : 5949
Localisation : Quebec
Effectivement, cela marche pour les vieilles dates mais j'ai des dates plus récentes qui elle plante avec ce format, date qui marche sans utiliser cette méthode...

Y va falloir que j'intercepte l'erreur pour ensuite lui dire d'appliquer l'autre méthode...

_________________
Herakles Informatique Inc
Collaborateur pour HardGamers


Haut
 Profil  
Répondre en citant  
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 9 message(s) ] 

Le fuseau horaire est UTC-5 heures [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 2 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum

Recherche de:
Aller vers :  
cron
Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement de site