Heim  >  Artikel  >  Backend-Entwicklung  >  String bis Datum C#

String bis Datum C#

WBOY
WBOYOriginal
2024-09-03 15:17:26582Durchsuche

In C# kann die Zeichenfolgendarstellung von Datum und Uhrzeit mithilfe einiger von der Struktur DateTime bereitgestellter Analysemethoden in das entsprechende DateTime-Objekt konvertiert werden. Diese Methoden erfordern die String-Darstellung des Datums, das konvertiert werden soll. Darüber hinaus können wir auch kulturspezifische Formatinformationen angeben.

Im Folgenden sind die Methoden aufgeführt:

  • DateTime.Parse()
  • DateTime.ParseExact()
  • DateTime.TryParse()
  • DateTime.TryParseExact()

Die Syntax für jede Parsing-Methode

Nachfolgend finden Sie die Syntax für jede dieser Parsing-Methoden:

public static DateTimeParse(string str);

Hier akzeptiert die Parse()-Methode ein String-Argument, das das zu konvertierende Datum und die Uhrzeit darstellt. Es gibt das DateTime-Objekt zurück, das dem durch str.

dargestellten Datum und der Uhrzeit entspricht
public static DateTimeParseExact(string str, string strFormat, IFormatProviderformatProvider);

Hier werden drei Argumente an die Methode übergeben, wobei str eine Zeichenfolgendarstellung des zu konvertierenden Datums und der Uhrzeit ist, format das erforderliche str-Format angibt und formatProvider die kulturspezifischen Formatinformationen für str bereitstellt. Es gibt das DateTime-Objekt zurück, das dem durch str.

dargestellten Datum und der Uhrzeit entspricht
public static bool TryParse(string str, out DateTimeresult);

Hier stellt str das Datum und die Uhrzeit der Konvertierung dar und der resultierende Wert wird in der Variablen result gespeichert. Diese Methode gibt true zurück, wenn die Konvertierung erfolgreich ist. Andernfalls wird false zurückgegeben.

public static bool TryParseExact(string str, string[] strFormats, IFormatProviderformatProvider,
DateTimeStylesstyle, out DateTimeresult);

Diese Methode gibt true zurück, wenn die Konvertierung erfolgreich ist. Andernfalls wird false zurückgegeben.

Wie konvertiere ich einen String in ein Datum in C#?

Es stehen mehrere Methoden zur Verfügung, um eine Zeichenfolge in C# in ein Datum zu konvertieren. Die zu konvertierende Zeichenfolge muss eine gültige Darstellung von Datum und Uhrzeit sein und darf weder null noch leer sein. Bei erfolgreicher Konvertierung geben diese Methoden ein DateTime-Objekt zurück.

Die bisher zum Parsen der Zeichenfolge verwendeten Methoden sind wie folgt:

  • DateTime.Parse(string);
    DateTime.Parse(string, IFormatProvider);
    DateTime.Parse(string, IFormatProvider, DateTimeStyles);

Die oben genannten drei Methoden sind die überladenen Formen der Parse()-Methode. Alle geben bei erfolgreicher Konvertierung ein System.DateTime-Objekt zurück.

Beispiel:

CultureInfo provider = newCultureInfo("en-US");
DateTime date = DateTime.Parse("08/08/2020", provider,
DateTimeStyles.AdjustToUniversal);

In den obigen Anweisungen haben wir zunächst ein Objekt der Klasse CultureInfo erstellt, das IFormatProvider implementiert. Diese Methode konvertiert nun die Eingabezeichenfolge mithilfe der bereitgestellten kulturspezifischen Formatinformationen und durch Anwenden des angegebenen DateTimeStyles-Werts in ein entsprechendes DateTime-Objekt. Bei erfolgreicher Konvertierung wird das resultierende DateTime-Objekt in der Variablen „date“ gespeichert.

  • DateTime.ParseExact(string, string, IFormatProvider);
    DateTime.ParseExact(string, string, IFormatProvider, DateTimeStyles);
    DateTime.ParseExact(string, string[], IFormatProvider, DateTimeStyles);

Die oben genannten drei Methoden sind die überladenen Formen der ParseExact()-Methode. Alle geben bei erfolgreicher Konvertierung ein System.DateTime-Objekt zurück.

Beispiel:

string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy",
"MM/dd/yyyyHH:mm:ss"};
CultureInfo provider = newCultureInfo("en-US");
DateTime date = DateTime.ParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal);

Die Zeichenfolgendarstellung des an diese Methode übergebenen Datums sollte genau mit einem der angegebenen Formate übereinstimmen, die in einem Zeichenfolgenarray enthalten sind.

  • DateTimeTryParse(string, out DateTime);
    DateTime.TryParse(string, IFormatProvider, DateTimeStyles, out DateTime);

Die Parametertypen in dieser Methode sind die gleichen, die wir zuvor gesehen haben. Diese Methode konvertiert die Eingabezeichenfolge mithilfe der kulturspezifischen Formatinformationen und des an sie übergebenen Stils in das entsprechende DateTime-Objekt und gibt „true“ zurück, wenn die Konvertierung erfolgreich ist. andernfalls wird false zurückgegeben. Der resultierende DateTime-Wert wird im Parameter „out“ dieser Methode gespeichert.

  • DateTime.TryParseExact(string, string[], IFormatProvider, DateTimeStyles, out DateTime);
    DateTime.TryParseExact(string, string, IFormatProvider, DateTimeStyles, out DateTime);

Diese Methode konvertiert die Eingabezeichenfolge mithilfe der bereitgestellten kulturspezifischen Formatinformationen und des bereitgestellten kulturspezifischen Formats in ein Datum. Diese Methode gibt bei erfolgreicher Konvertierung „true“ zurück; andernfalls wird false zurückgegeben.

Beispiel für eine aktuelle Zeichenfolge in C#

Unten sind die Beispiele.

Code:

using System;
usingSystem.Globalization;
publicclassProgram
{
publicstaticvoidMain()
{
DateTime date;
string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy",
"MM/dd/yyyyHH:mm:ss"};
CultureInfo provider = newCultureInfo("en-US");
try
{
//Parse()
date = DateTime.Parse("08/08/2020");
Console.WriteLine("\nParse() method: " + date);
//ParseExact()
date = DateTime.ParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal);
Console.WriteLine("\nParseExact() method: " + date);
}
catch (Exception ex)
{
Console.Write(ex.Message);
Console.ReadLine();
}
//TryParse()
if (DateTime.TryParse("08/08/2020", out date))
{
Console.WriteLine("\nTryParse() : " + date);
}
else
{
Console.WriteLine("Conversion failed");
}
//TryParseExact()
if (DateTime.TryParseExact("08/08/2020", dateFormats, provider,
DateTimeStyles.AdjustToUniversal, out date))
{
Console.WriteLine("\nTryParseExact() : " + date);
}
else
{
Console.WriteLine("Conversion failed");
}
Console.ReadLine();
}
}

Ausgabe:

String bis Datum C#

Fazit

In C# kann eine Zeichenfolge mithilfe der von der DateTime-Struktur bereitgestellten Parsing-Methoden in ein DateTime-Objekt konvertiert werden. Abgesehen von diesen Methoden können wir mit Convert eine Zeichenfolge in ein Datum konvertieren. Zur DateTime()-Methode, die eine Zeichenfolgendarstellung eines Datums als Eingabe verwendet und das entsprechende DateTime-Objekt zurückgibt.

Das obige ist der detaillierte Inhalt vonString bis Datum C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn