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

Minahil Noor 16 février 2024
  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:
C# Convertir la chaîne de caractères en datetime

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

Article connexe - Csharp Datetime