C# Zeichenkette in Datum/Uhrzeit konvertieren
-
C# Programm zur Konvertierung von
string
inDateTime
unter Verwendung vonConvert.ToDateTime()
-
C# Programm zur Konvertierung von
string
inDateTime
unter Verwendung vonDateTime.Parse()
-
C# Programm zur Konvertierung von
string
in eineDateTime
unter Verwendung vonDateTime.ParseExact()
- Schlussfolgerung
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
- C# Int in String konvertieren
- C# String in Enum konvertieren
- Verwendung von Strings in der Switch-Anweisung in C#
- So konvertieren Sie eine Zeichenkette in ein Byte-Array in C#
- Wie konvertiert man eine Zeichenkette in C# in boolesche Zeichenketten
- Wie schreibt man ein mehrzeiliges String-Literal in C#