C# Convertir la chaîne de caractères en datetime

  1. Programme C# pour convertir une chaîne en DateTime en utilisant Convert.ToDateTime()
  2. Programme en C# pour convertir la chaîne en DateTime en utilisant la fonction DateTime.Parse()
  3. Programme en C# pour convertir la chaîne en une DateTime en utilisant DateTime.ParseExact()
  4. Conclusion:

Dans la plupart des cas, nous obtenons une date sous la forme d’une chaîne et nous voulons utiliser le jour, le mois et l’année individuellement. Ne vous inquiétez pas, en C#, pour convertir une chaîne de caractères en un objet “Date-Heure”, nous utilisons une classe prédéfinie appelée DateTime.

Il existe plusieurs méthodes pour convertir une chaîne de caractères en DateTime en C#, mais ici, nous ne développerons que trois méthodes avec des exemples. Ces méthodes sont Convert.ToDateTime(), DateTime.Parse() et DateTime.ParseExact().

Programme C# pour convertir une chaîne en DateTime en utilisant Convert.ToDateTime()

La syntaxe correcte de Convert.ToDateTime() est

Convert.ToDateTime(dateTobeConverted);
Convert.ToDateTime(dateTobeConverted, cultureInfo);

Il convient de noter ici que si vous ne fournissez pas d’informations sur la culture, le compilateur verra par défaut notre chaîne de dates comme mois/jour/année. CultureInfo est une classe C# dans l’espace de noms System.Globalization qui donne des informations sur une culture spécifique.

using System;

public class Conversion
{
   public static void Main()
   {
   string CurrentDate = "06/04/2020";
   
   //Use of Convert.ToDateTime()   
   DateTime DateObject = Convert.ToDateTime(CurrentDate);
   Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " + DateObject.Year);
   }

}

Production:

The Date is: 4 6 2020

Nous allons maintenant l’implémenter en passant l’objet CultureInfo comme paramètre.

using System;
using System.Globalization;
public class Conversion
{
   public static void Main()
   {
   string CurrentDate = "06/04/2020";
   
   // Creating new CultureInfo Object
   // You can use different cultures like French, Spanish etc.
   CultureInfo Culture = new CultureInfo("en-US");
   //Use of Convert.ToDateTime() 
   DateTime DateObject = Convert.ToDateTime(CurrentDate, Culture);
   Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " + DateObject.Year);
   }

}

Production:

The Date is: 4 6 2020

Si nous changeons l’objet CultureInfo en nl-NL, le mois et le jour seront échangés.

using System;
using System.Globalization;
public class Conversion
{
   public static void Main()
   {
   string CurrentDate = "06/04/2020";
   CultureInfo Culture = new CultureInfo("nl-nl");

   DateTime DateObject = Convert.ToDateTime(CurrentDate, Culture);
   Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " + DateObject.Year);
   }

}

Production:

The Date is: 6 4 2020

Programme en C# pour convertir la chaîne en DateTime en utilisant la fonction DateTime.Parse()

La syntaxe de DateTime.Parse() est,

DateTime.Parse(dateTobeConverted);
DateTime.Parse(dateTobeConverted, cultureInfo);

Il en va de même avec la méthode DateTime.Parse(), si nous ne fournissons pas d’informations sur la culture comme argument, alors par défaut notre système les verra comme mois/jour/année.

Si la valeur de la chaîne à convertir est nulle, alors elle retournera “ArgumentNullException” qui doit être traitée en utilisant le bloc “try-catch”.

using System;

public class Conversion
{
   public static void Main()
   {
   string CurrentDate = "06/04/2020";
   
   //Use of DateTime.Parse()   
   DateTime DateObject = DateTime.Parse(CurrentDate);
   Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " + DateObject.Year);
   }

}

Production:

The Date is: 4 6 2020

Programme en C# pour convertir la chaîne en une DateTime en utilisant DateTime.ParseExact()

La syntaxe de DateTime.ParseExact() est,

DateTime.ParseExact(dateTobeConverted, dateFormat, cultureInfo);

DateTime.ParseExact() est la meilleure méthode pour convertir une chaîne de caractères en DateTime. Dans cette méthode, nous passons le format de la date en argument. Cela permet à l’utilisateur d’effectuer facilement la conversion avec précision.

Ici, nous avons passé null comme paramètre à la place de culture info parce que c’est un tout nouveau sujet et qu’il faut du temps pour le comprendre.

using System;

public class Conversion
{
   public static void Main()
   {
   string CurrentDate = "06/04/2020";
   
   //Use of DateTime.ParseExact()
   // culture information is null here
   DateTime DateObject = DateTime.ParseExact(CurrentDate, "dd/MM/yyyy", null);
   Console.WriteLine("The Date is: " + DateObject.Day + " " + DateObject.Month + " " + DateObject.Year);
   }

}

Production:

The Date is: 6 4 2020

Conclusion:

Il existe de nombreuses méthodes pour convertir une chaîne de caractères en DateTime en C#. Nous en avons évoqué quelques-unes. La meilleure méthode pour convertir une chaîne en DateTime est DateTime.ParseExact().

Article connexe - Csharp String

  • Comment écrire une chaînes de caractères multiligne littérale en C#
  • C# Convertir Int en String
  • Article connexe - Csharp Datetime

  • Comment convertir une chaîne de caractères en un tableau d'octets en C#
  • Comment convertir une chaînes de caractères pour qu'elle flotte en C#