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

Windows Forms Discussion :

[C#] Création d'un objet dateTime


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut [C#] Création d'un objet dateTime
    Bonjour,
    Je butte sur un problème et aimerais avoir une orientation.

    J'ai plusieurs éléments:
    1. Combobox qui contient les jours de la semaine
    2. Deux numeric up down button qui permette de sélectiionner un temps (heure et minute)

    A partir de là, je récupère ces données pour les mettre dans un treeview. ça ça marche.

    Mais je voudrais aussi alimenter un fichier xml qui contiendra un string formaté que je récupérerai pour le formater en objet dateTime, c'est là que je coince.
    Pour plusieurs raisons:

    - les numeric up down button peuvent aller respectivement de 0 à 23 et 0 à 59. La valeur récupérées est donc sur 1 ou 2 digits ? COmment faire pour la metrte quoiqu'il arrive sur deux digits (je bloque avec string.format())

    - Si j'arrive à règler le problème ci-dessous et que j'obtiens un string du type
    " Monday at 02:45 ", est il possible de le formaté ensuite en objet datetime ?
    Si oui !! C# est génial !!!!!!!

    Si ce que je veux faire paraît idiot, auriez vous une autre orientation à me donner ?
    Merci grandement pour vos avis éclairés !!!!!!!!

  2. #2
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    Regarde tu coté de la class Timespan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TimeSpan t = new TimeSpan(1, System.Convert.ToInt32(numericUpDown1.Value), System.Convert.ToInt32(numericUpDown2.Value));

  3. #3
    Membre confirmé Avatar de meli0207
    Inscrit en
    Novembre 2004
    Messages
    208
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2004
    Messages : 208
    Par défaut
    si tu recupere heure et minute dans des int
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    int heure;
    int minute;
    pour les avoir sur 2 digits tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string sheure = heure.ToString("d2");
    string sminute = minute.ToString("d2");
    Ensuite, si tu recupere le jour de la semaine en toutes lettres, il te reste plus qu'a concaténer toutes ces chaines

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut
    Merci beaucoup pour vos réponses !!
    Pour l'affichage, j'obtiens la chaine de caractère suivante, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Wednesday at 05:35
    C'est ce que l'utilisateur verra. J'ai utilisé ToString("d2").
    Mais pour le programme, Je vais avoir besoin de mémoriser cette date dans un fichier xml qui sera utilisé plus tard par un programme pour déclencher une action.
    Pour que la date soit le plus facilement exploitable par le programme, j'ai pensé à la convertir en minutes.
    Je ferais:

    XMLdate = jour_semaine*60*24 + heure*60 + minute
    C'est cette date que je mettrai dans le fichier.

    D'où mes 2 dernières questions:
    - Existe t'il (dans la classe timespan), la possibilité de convertir un jour(lundi à dimanche) + heure + minutes en minutes !!
    - La solution que j'envisage est elle farfelue ? y a plus simple ?


    Voilà ! Merci pour votre aide !!!

  5. #5
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Existe t'il (dans la classe timespan), la possibilité de convertir un jour(lundi à dimanche) + heure + minutes en minutes !!
    Sur l'objet TimeSpan, tu as la propriété TotalMinutes

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    801
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 801
    Par défaut
    Salut Guitoux,

    J'utilise timespan ainsi donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
                TimeSpan ts = new TimeSpan(CBB.SelectedIndex, this.MyHour, this.MyMinute,0,0);
                MessageBox.Show(ts.TotalMinutes.ToString());
    ce qui revient à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    this.XML_RUN_DATE = (CBB.SelectedIndex * 60 * 24 + this.MyHour * 60 + this.MyMinute).ToString();

    Mais qui est plus joli !! enfin je crois.

    Je voudrais comparer cette somme de minutes de la semaine à la somme de minutes du temps actuel.
    J'utilise donc dateTime.now ...

    Mais je n'arrive pas à récupérer le nombre de jour de la semaine, j'arrive seulement à récupéré le jour (en texte) de la semaine:
    DateTime dt = DateTime.Now;
    messageBox.show(dt.DayOfWeek)
    Comment faire pour récupéré un nombre entre 0 et 6 (c marrant ça, de récupérer plus facilement le nom du jour que le numéro !!!)

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

Discussions similaires

  1. Création dynamique d'objets ?
    Par Arthur A. dans le forum C++
    Réponses: 6
    Dernier message: 15/06/2005, 23h55
  2. [Open Inventor] Création d'un objet FILE
    Par seiryujay dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 16/03/2005, 18h29
  3. création dynamique d'objet, projet win32
    Par noinneh dans le forum MFC
    Réponses: 5
    Dernier message: 03/02/2005, 16h07
  4. [Reflexivite]création dynamique d'objet et Héritage
    Par norkius dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 26/10/2004, 11h37
  5. Création d'un objet d'un form a l'autre
    Par Argonz dans le forum C++Builder
    Réponses: 12
    Dernier message: 03/03/2004, 10h23

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