首頁  >  文章  >  後端開發  >  字串到日期 C#

字串到日期 C#

WBOY
WBOY原創
2024-09-03 15:17:26667瀏覽

在 C# 中,可以使用 struct DateTime 提供的一些解析方法將日期和時間的字串表示形式轉換為其等效的 DateTime 物件。這些方法需要要轉換的日期的字串表示形式,除此之外,我們還可以指定特定於區域性的格式資訊。

以下是方法:

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

每種解析方法的語法

下面給出的是每個解析方法的語法:

public static DateTimeParse(string str);

這裡,Parse() 方法接受一個字串參數,它表示要轉換的日期和時間。它傳回 DateTime 對象,相當於 str.

表示的日期和時間
public static DateTimeParseExact(string str, string strFormat, IFormatProviderformatProvider);

這裡,三個參數傳遞給該方法,其中 str 是要轉換的日期和時間的字串表示形式,format 指定所需的 str 格式,formatProvider 提供 str 的區域性特定格式資訊。它會傳回DateTime對象,相當於str.

表示的日期和時間
public static bool TryParse(string str, out DateTimeresult);

這裡,str代表要轉換的日期和時間,結果值將儲存在變數result中。如果轉換成功,則方法將傳回 true。否則,將傳回 false。

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

如果轉換成功,則方法將傳回true。否則,將傳回 false。

如何在 C# 中將字串轉換為日期?

C# 中有多種方法可將字串轉換為日期。要轉換的字串必須是日期和時間的有效表示形式,且不能為 null 或空。成功轉換後,這些方法會傳回 DateTime 物件。

迄今為止解析字串的方法如下:

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

以上三種方法是Parse()方法的重載形式。成功轉換後,它們都會傳回 System.DateTime 物件。

範例:

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

在上面的語句中,我們先建立了一個CultureInfo類別的對象,它實作了IFormatProvider。 現在,此方法將使用提供的區域性特定格式資訊並套用給定的 DateTimeStyles 值將輸入字串轉換為等效的 DateTime 物件。成功轉換後,產生的 DateTime 物件將儲存在變數「date」中。

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

以上三種方法是ParseExact()方法的重載形式。成功轉換後,它們都會傳回 System.DateTime 物件。

範例:

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

傳遞給此方法的日期的字串表示形式應與字串陣列中包含的任何指定格式完全匹配。

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

該方法中的參數類型與我們之前看到的相同。此方法使用區域性特定的格式資訊和傳遞給它的樣式將輸入字串轉換為其等效的 DateTime 對象,如果轉換成功則返回 true;否則,返回 false。產生的 DateTime 值將儲存在此方法的「out」參數中。

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

此方法使用提供的區域性特定格式資訊和樣式將輸入字串轉換為日期。轉換成功時該方法傳回true;否則,傳回 false。

C# 的字串到日期範例

以下是範例。

代碼:

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

輸出:

字串到日期 C#

結論

在 C# 中,可以使用 DateTime 結構提供的解析方法將字串轉換為 DateTime 物件。除了這些方法之外,我們還可以使用 Convert 將字串轉換為日期。 To DateTime() 方法,該方法將日期的字串表示形式作為輸入並傳回其等效的 DateTime 物件。

以上是字串到日期 C#的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn