J'ai une propriété ( string ) nommée cdate dans ce format
25/01/2019 00:41:50
Je veux que ma sortie ressemble à ceci
25/01/2019 00:41:50
Mon code génère une erreur d'exception de diffusion non valide.
Je suis une recrue en C #
J'ai déjà essayé mais ça ne marche pas
cdate.ToString ("MM / jj / aaaa hh: mm: ss")
3 Réponses :
Quel est le type de propriété cdate ? Je suppose qu'il est de type DateTime et je suppose également que vous essayez de faire quelque chose comme ceci:
cdate = DateTime
.ParseExact(cdate, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture)
.ToString("MM/dd/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
Dans ce cas, vous obtiendrez un casting exception d'exception car vous essayez d'attribuer une valeur string à une variable DateTime ( DateTime.ToString renvoie une chaîne ).
Vous devriez probablement l'assigner à une nouvelle variable de chaîne au lieu d'essayer de l'attribuer à cdate.
Modifier:
Étant donné que le type de cdate est string , vous devez le convertir en un objet DateTime , utilisez la méthode ToString pour le convertir au format requis.
cdate = cdate.ToString("MM/dd/yyyy hh:mm:ss")
cdate est une chaîne
J'ai mis à jour ma réponse avec la bonne façon de convertir la chaîne dans un format de date et d'heure différent.
Essayez celui-ci en spécifiant le format de culture (comme vous voulez le format en-US). Exactement cdate est une instance de DateTime ici.
DateTime dt = DateTime.Parse(cdate, CultureInfo.CreateSpecificCulture("en-us"));
si vous recherchez une analyse de DateTime à partir d'une chaîne:
cdate.ToString("G", CultureInfo.CreateSpecificCulture("en-us"));
c'est le format de chaîne que j'essaie de le stocker à courte date dans DB
@nikhiljain vous devez mettre tous ces petits détails que vous mettez dans les commentaires aux réponses d'autres personnes à votre question.
Comme vous l'avez indiqué dans un commentaire à une autre réponse, cdate est de type string .
Vous devrez analyser la chaîne en un DateHeure , puis appelez ToString () pour formater la date au format approprié
var cdate = "25/01/2019 12:41:50 AM";
var dt = DateTime.ParseExact(cdate, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
cdate = dt.ToString("MM/dd/yyyy hh:mm:ss tt");
Cela utilise CultureInfo.InvariantCulture sinon / et : sont remplacés par les séparateurs de date et d'heure de la culture actuelle.
cdateest-il de typeDateHeure?Veuillez nous montrer le code que vous utilisez. Que signifie «ça ne marche pas».