C #: Convertit date / heure en chaîne avec un format différent

Si ma chaîne est le 26/01/2011 00:14:00 mais que mon ordinateur a défini le format United States (AM: PM) Comment convertir ma chaîne en Datetime ? J’essaie Convert.ToDateTime() mais cela cause une erreur.

Comme d’autres l’ont dit, vous pouvez utiliser DateTime.TryParseExact, mais vous semblez également avoir un format de culture européenne dans votre date. Essayez de l’utiliser pour effectuer la conversion:

 CultureInfo enGB = new CultureInfo("en-GB"); ssortingng dateSsortingng; DateTime dateValue; // Parse date with no style flags. dateSsortingng = "26/01/2011 00:14:00"; DateTime.TryParseExact(dateSsortingng, "g", enGB, DateTimeStyles.None, out dateValue); 

Utilisez DateTime.ParseExact ou DateTime.TryParseExact . Si vous devez accepter plusieurs formats de date / heure possibles, ces deux méthodes ont des surcharges qui prennent un tableau de chaînes de format.

En ce qui concerne ce format, cela ressemble à “jj / mm / aaaa HH: MM: ss”

J’utilise DateTime.Tryparse – de cette façon, vous pouvez attraper et gérer un échec avec élégance:

http://msdn.microsoft.com/en-us/library/system.datetime.tryparse.aspx