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

Développement Web avec .NET Discussion :

Conversion d une string vers datetime


Sujet :

Développement Web avec .NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Par défaut Conversion d une string vers datetime
    Bonjour à tous,
    Je développe une appli Web permettant l envoi de SMS immédiat ou planifié.
    J utilise pour faire ça l Api esendex qui fonctionne bien mais qui me donne du fil à retordre au niveau d une fonction permettant la planification.
    Cette fonction prend en argument 2 parametres:
    - le SMS à envoyer
    - la date à laquelle il faut envoyer le SMS au format datetime.
    Jusqu ici rien de bien tordu le format attendu de la date est du type yyyy-MM-ddThh:mm:ssZ
    Si j entre en dur une date dans ce format là ça fonctionne.
    Sauf que je souhaite que l utilisateur utilise un calendar et deux textbox pour définir l heure et la minute à laquelle il souhaite envoyer le SMS et c est la que ça se corse pour moi.
    Malgré mes tentative de convertir mes string sortant des textbox en datetime, à des fin de débug j ai ajouté un label qui m'affiche la sortie et j ai bien le format de date attendu mais la fonction d envoi me rejette tout le temps en me disant que le format de ma requête est incorrect.

    Auriez vous des astuces pour convertir des string en datetime ? Ou encore mieux sauriez vous s il existe un outils calendar qui prend en charge l heure ? Je suis en webform et j utilise. net 4.5 l outil datetimepicker ne semble pas exister pour les webform.
    Merci d avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Par défaut
    Pour être un peu plus consistant dans mon propos voici quelques exemples de codes qui me posent problème.
    D'abord ce qui fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    var messagingService = new MessagingService(username, password);
    string date1 = "2019-04-05T19:33:00Z";
    DateTime date2 = Convert.ToDateTime(date1);
    messagingService.SendScheduledMessage(new SmsMessage("06XXXXXXXX", "TEXTE SMS", "COMPTE PRESTATAIRE"),date2);
    ceci fonctionne donc correctement, le seul problème vient du fuseau horaire (j'ai un décallage de 2h, le message dans mon exemple est planifié pour 21h33)

    Ce qui ne fonctionne pas, c'est lorsque depuis un objet calendar je récupère une date de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    //On récupère la date sélectionnée dans le calendar pour l'affecter à sendat
    DateTime sendat = Calendar1.SelectedDate;
    //On affiche le résultat dans un Label ce qui donne : 05/04/2019 00:00:00
    Label3.Text = sendat.ToString();
    Le résultat n'est pas encore celui escompté je voudrais obtenir uniquement la date au format yyyy-MM-dd
    voici ce que je fait pour arriver à ce résultat:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Label3.Text = (Calendar1.SelectedDate).ToString("yyyy-MM-dd");
    //résultat retourné : 2019-04-05
    On est donc OK pour la partie date.
    N'ayant pas de contrôle du temps sur cet objet calendar, ce que je trouve dommage au passage...

    J'ai donc du créer deux DropDownList pour inviter l'utilisateur à sélectionner l'heure et la minute à laquelle le SMS doit être envoyé.
    Je récupère donc ces deux valeurs (des entiers) et je bricole une chaîne qui ressemble à ce qui est attendu par la fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sendat = Convert.ToDateTime((Calendar1.SelectedDate).ToString("yyyy-MM-dd") + "T" + (DropDownList3.Text) + ":" + (DropDownList4.Text) + ":00Z");
    En renvoyant la variable sendat dans ma fonction de base, j'ai toujours le même problème.
    En passant le tout au débugger, j'ai mis un point d'arrêt sur la fonction de base
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    messagingService.SendScheduledMessage(new SmsMessage("06XXXXXXXX", "TEXTE SMS", "COMPTE PRESTATAIRE"),sendat);
    et je m'aperçois, sauf mauvaise utilisation du debugger de ma part que la variable sendat contient un truc qui sort je ne sais pas d'où soit, 01/01/0001 00:00:00
    alors qu'elle devrait avoir ma date formatée...

    je pense donc que je me prend le pied dans le tapis à un endroit mais je ne trouve pas où...

    Si quelqu'un a un peu de temps pour regarder ça et me donner le coup de pouce (ou de pied) qui me manque pour finir cette appli, ça serait super!

    Merci d'avance,

    n'hésitez pas à me demander plus de détails si j'ai oublié quelque chose!

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Août 2008
    Messages : 130
    Par défaut
    Bonjour,

    Personne n à d idée ?

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/12/2007, 02h23
  2. Conversion d'un string vers un type particulier
    Par Xorgnem dans le forum C++
    Réponses: 4
    Dernier message: 27/06/2007, 13h26
  3. convertir une string en datetime
    Par bingo00 dans le forum C#
    Réponses: 7
    Dernier message: 07/05/2007, 08h32
  4. [C#][2.0] Conversion d'un string en DateTime
    Par aphykite dans le forum ASP.NET
    Réponses: 23
    Dernier message: 19/06/2006, 15h59
  5. conversion d'une application vers open office
    Par bahhak dans le forum Access
    Réponses: 4
    Dernier message: 30/05/2006, 20h22

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