IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#] ISDATE dans C#?


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de Nadaa
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Par défaut [C#] ISDATE dans C#?
    Bonjour tout le monde,
    est ce qu il y a un equivalent a la fonction ISDATE() dans C# ??
    si oui je peux avoir un exemple?
    merci par avance
    nadaa

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    non ISDATE() n'existe pas en C#

    tu peux te servire de

    System.Text.RegularExpressions;

    pour tester si la chaine rentrée est une date ou non

  3. #3
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    Ou faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime.Parse(taString);
    Ou encore:
    DateTime.Parse(taString, taCultureInfo)
    N'oublie pas que msdn est ton amie.

  4. #4
    Membre confirmé Avatar de David.V
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 191
    Par défaut
    Ou plus sauvagement, faire une fonction IsDate de ton cru qui cast la valeur en date et récupére ainsi si une exception se lève ou non.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    Citation Envoyé par David.V
    Ou plus sauvagement, faire une fonction IsDate de ton cru qui cast la valeur en date et récupére ainsi si une exception se lève ou non.
    perte de vitesse au premier passage dans le try catch !!!!

  6. #6
    Membre confirmé Avatar de David.V
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 191
    Par défaut
    Citation Envoyé par pc152
    Citation Envoyé par David.V
    Ou plus sauvagement, faire une fonction IsDate de ton cru qui cast la valeur en date et récupére ainsi si une exception se lève ou non.
    perte de vitesse au premier passage dans le try catch !!!!
    ça dépend de l'utilisation que tu en fait aprés. C'est sur que si tu comptes faire 1 millions d'iterations derrière, vaux mieux éviter. Mais dans le cas d'un passage simple, ça n'a aucune incidence.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    je ne suis pas d'accord

    je viens de tester ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    try 
    				{
    					DateTime p = Convert.ToDateTime(txtVerif.Text);
    					return true;
    				}
    				catch (FormatException ex)
    				{
    					MessageBox.Show(ex.ToString(),"Erreur",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
     
    					return false;
    				}
    et bien au premier appuis sur le bouton il met environ 2 secondes a afficher la fenetre donc chose innutil quand on peux par les expression regulaire verifier !!!!

  8. #8
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    de toute facon on est oblige de passer par le try catch

    en effet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DateTime.Parse("mercredi c'est ravioli");
    renvoie une exception!

    l'autre possibilite c'est bien sur la regexp, mais on perd tout l'aspect culture...

    si qqun a trouve un autre moyen ca m'interesse aussi

  9. #9
    Membre confirmé Avatar de David.V
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 191
    Par défaut
    Citation Envoyé par pc152
    je ne suis pas d'accord

    je viens de tester ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    try 
    				{
    					DateTime p = Convert.ToDateTime(txtVerif.Text);
    					return true;
    				}
    				catch (FormatException ex)
    				{
    					MessageBox.Show(ex.ToString(),"Erreur",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
     
    					return false;
    				}
    et bien au premier appuis sur le bouton il met environ 2 secondes a afficher la fenetre donc chose innutil quand on peux par les expression regulaire verifier !!!!
    Ecoutes, à mon avis, t'a un problème avec ton poste, parce qu'il faut pas 2 secondes (mesures un peu la porté de ta connerie là) à une bécane pour lever une exception là dessus ! ça mesure en quelques cycle machine ces choses là...

    De plus, une expression régulière "bouffe" à mon avis beaucoup plus de temps machine que de passer par une exception pure et dure.

  10. #10
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Rah vous chamaillez pas!



    de toute facon vous avec tous les deux raison:
    Try/catch est plus rapide si la valeur est de la bonne nature
    La regexp est plus performante si la valeur n'est pas de la bonne nature

    je me suis inspire des resutlats de:
    http://aspalliance.com/articleViewer.aspx?aId=80&pId=3

  11. #11
    Membre confirmé Avatar de David.V
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    191
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 191
    Par défaut
    Citation Envoyé par Piotrek
    Rah vous chamaillez pas!



    de toute facon vous avec tous les deux raison:
    Try/catch est plus rapide si la valeur est de la bonne nature
    La regexp est plus performante si la valeur n'est pas de la bonne nature

    je me suis inspire des resutlats de:
    http://aspalliance.com/articleViewer.aspx?aId=80&pId=3
    Excuses moi, mais entendre des abérations pareilles chez quelqu'un qui fait du développement (web ou non), ça me choque un peu. C'est vrai que c'est des "gamineries" tout ça, mais bon, y'a des bêtises qu'on ne peut pas laisser passer (genre 2 secondes pour le traitement try catch, fallait oser !).

    Peace and Love

  12. #12
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    1.6 sec tout de meme au premier passage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
            Dim i As Int32
            For i = 0 To 999
     
                Dim p As String = "pwet" + i.ToString
     
                Try
     
                    Dim u As Date = Date.Parse(p)
     
                Catch ex As System.FormatException
     
                'Catch ex As Exception
     
                End Try
     
            Next
    ok j'ai pas un pc a la pointe

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Par défaut
    en aucune cas je ne souhaite faire des gaminerie mais je donne mon avis perso sur mon aplication WINFORM j'ai fait le teste et le fait de lever une exception me prend plus de temps sur MON pc qu'une verif avec une expression reguliaire.
    et je ne parle que du premier passage car apres cela est plus rapide
    et le lien de Piotrek me le montre.

    desoler du derangement

  14. #14
    Membre confirmé Avatar de Nadaa
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Par défaut
    mercii tout le monde
    je vais tester les solutions proposé

  15. #15
    Membre éclairé Avatar de bilb0t
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    378
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 378
    Par défaut
    Faut pas vous battre.

    Moi je proposais juste ma soluce parce qu'elle permet de traitre tout mes cas avec le cultureinfo. genre: "samedi le 19 aoùt 2003" avec une expression régulière, t'es pas sauvé...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2006, 19h08
  2. gérer les jpg dans une fenetre directdraw???
    Par Anonymous dans le forum DirectX
    Réponses: 1
    Dernier message: 14/06/2002, 13h39
  3. enregistrer dans un fichier avec une appli mdi
    Par ferrari dans le forum C++Builder
    Réponses: 4
    Dernier message: 05/05/2002, 15h17
  4. faire un selection dans une image aves les APIs
    Par merahyazid dans le forum C++Builder
    Réponses: 3
    Dernier message: 30/04/2002, 10h44
  5. Documentation DirectX dans C++Builder 3
    Par srvremi dans le forum DirectX
    Réponses: 1
    Dernier message: 26/04/2002, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo