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

C# Discussion :

comment faire le casting de date en C# e différence entre 2 dates


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 57
    Points : 36
    Points
    36
    Par défaut comment faire le casting de date en C# e différence entre 2 dates
    salut,
    j'utilise SQL Server 2005 comme SGBD et j'utilise C#.NET comme outils de programmation.

    je maitrise SQL mais mon problème je ne connait pas C# et je n'arrive pas à faire qu 'est ce que je veux.

    j'ai récupéré la date de debut e la date de retour dans deux zones de textes "dat_debut.Text " et "dat_retour.Text"

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for (int i = 0; i < oDataSet.Tables["T_PERIODE_HOTEL"].Rows.Count ; i++)
    { 
    dat_debut.Text = oDataSet.Tables["T_PERIODE_HOTEL"].Rows[i][2].ToString(); 
     
    dat_retour.Text = oDataSet.Tables["T_PERIODE_HOTEL"].Rows[i][3].ToString(); 
     
    connexion.Close(); 
     
     
    }



    1- mon premier problème: je veux faire la différence entre les deux dates e j'affiche le résultat dans un text box "resulta.text"

    si j'écrit comme ça: resulta.Text = dat_debut.Text - dat_retour.Text;==>Erreur 1 L'opérateur '-' ne peut pas être appliqué aux opérandes de type 'string' et 'string'

    je ne connait pas comment faire le casting comme en java.

    2-mon 2eme problème: j'ai un text box "nb_jour.text", ce champ est rempli par l'utilisateur ; je veux ajouter le nombre de jours à la date de debut pour atteindre la date de sortie

    c'est à dire : date_sortie= date_debut + nbjour

    merci d'avance

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Il existe en C# un type fait pour gérer les Date : DateTime.

    Ton souci, c'est que le dataset contient bien des données de type datetime, mais que tu passes par des textbox (qui ne peuvent contenir que du texte : des string.)

    Donc tu devrais plutôt faire ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DateTime debut = (DateTime)(oDataSet.Tables["T_PERIODE_HOTEL"].Rows[0][2]);
     
    DateTime fin = (DateTime)(oDataSet.Tables["T_PERIODE_HOTEL"].Rows[0][2]);
    TimeSpan différence = fin - debut;
    Ensuite...
    2-mon 2eme problème: j'ai un text box "nb_jour.text", ce champ est rempli par l'utilisateur ; je veux ajouter le nombre de jours à la date de debut pour atteindre la date de sortie
    Tu peux passer par des TimeSpan, ou plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTime d = unAutreDateTime.AddDays(5);
    ಠ_ಠ

Discussions similaires

  1. Comment faire un cast
    Par pikaTuX dans le forum Objective-C
    Réponses: 7
    Dernier message: 01/06/2010, 10h54
  2. [XL-2007] Comment faire pour que 2010-01-01 ne soit pas converti en date
    Par pierrot10 dans le forum Excel
    Réponses: 4
    Dernier message: 09/04/2010, 14h46
  3. Réponses: 2
    Dernier message: 16/06/2008, 13h32
  4. [jsp] Comment faire un cast de Vector to String?
    Par adil_vpb dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/03/2007, 11h29
  5. comment faire un cast d'un CString en int ?
    Par 180degrés dans le forum MFC
    Réponses: 1
    Dernier message: 23/12/2005, 22h02

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