C# Zeichenkette in Datum/Uhrzeit konvertieren

Minahil Noor 16 Februar 2024
  1. C# Programm zur Konvertierung von string in DateTime unter Verwendung von Convert.ToDateTime()
  2. C# Programm zur Konvertierung von string in DateTime unter Verwendung von DateTime.Parse()
  3. C# Programm zur Konvertierung von string in eine DateTime unter Verwendung von DateTime.ParseExact()
  4. Schlussfolgerung
C# Zeichenkette in Datum/Uhrzeit konvertieren

In den meisten Fällen erhalten wir ein Datum in Form einer Zeichenkette und wollen Tag, Monat und Jahr individuell verwenden. Keine Sorge, in C# verwenden wir, um eine Zeichenkette in ein DateTime-Objekt zu konvertieren, eine vordefinierte Klasse namens DateTime.

Es gibt mehrere Methoden, um eine Zeichenkette in C# in DateTime zu konvertieren, aber hier werden wir nur drei Methoden mit laufenden Beispielen erläutern. Diese Methoden sind Convert.ToDateTime(), DateTime.Parse() und DateTime.ParseExact().

C# Programm zur Konvertierung von string in DateTime unter Verwendung von Convert.ToDateTime()

Die korrekte Syntax von Convert.ToDateTime() lautet

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

Es sei hier angemerkt, dass, wenn Sie keine Kulturinformationen bereitstellen, der Compiler unsere Datumsangabe standardmäßig als Monat/Tag/Jahr sieht. CultureInfo ist eine C#-Klasse im Namensraum System.Globalization, die Informationen über eine bestimmte Kultur liefert.

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);
  }
}

Ausgabe:

The Date is: 4 6 2020

Nun werden wir sie implementieren, indem wir das Objekt CultureInfo als Parameter übergeben.

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);
  }
}

Ausgabe:

The Date is: 4 6 2020

Wenn wir die CultureInfo in nl-NL ändern, werden der Monat und der Tag vertauscht.

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);
  }
}

Ausgabe:

The Date is: 6 4 2020

C# Programm zur Konvertierung von string in DateTime unter Verwendung von DateTime.Parse()

Die Syntax von DateTime.Parse() lautet,

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

Dasselbe gilt für die Methode DateTime.Parse(), wenn wir keine Kulturinformationen als Argument angeben, dann sieht unser System diese standardmäßig als Monat/Tag/Jahr an.

Wenn der Wert der zu konvertierenden Zeichenkette null ist, wird ArgumentNullException zurückgegeben, was mit dem try-catch-Block behandelt werden sollte.

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);
  }
}

Ausgabe:

The Date is: 4 6 2020

C# Programm zur Konvertierung von string in eine DateTime unter Verwendung von DateTime.ParseExact()

Die Syntax von DateTime.ParseExact() ist,

DateTime.ParseExact(dateTobeConverted, dateFormat, cultureInfo);

DateTime.ParseExact() ist die beste Methode, um eine Zeichenkette in DateTime zu konvertieren. In dieser Methode übergeben wir das Format des Datums als Argument. Dies macht es dem Benutzer leicht, die Konvertierung exakt durchzuführen.

Hier haben wir Null als Parameter anstelle von Kultur-Info übergeben, weil es ein ganz neues Thema ist und es Zeit braucht, das zu verstehen.

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);
  }
}

Ausgabe:

The Date is: 6 4 2020

Schlussfolgerung

Es gibt viele Methoden, um eine Zeichenkette in C# in DateTime zu konvertieren. Wir haben einige davon besprochen. Die beste Methode, eine Zeichenkette in DateTime zu konvertieren, ist DateTime.ParseExact().

Verwandter Artikel - Csharp String

Verwandter Artikel - Csharp Datetime