C# 將字串轉換為日期時間
-
C# 使用
Convert.ToDateTime()
將字串轉換為DateTime
-
C# 使用
DateTime.Parse()
將字串轉換為DateTime
-
C# 使用
DateTime.ParseExact()
將string
轉換為DateTime
- まとめ
在大多數情況下,我們以字串形式獲取日期,並且希望分別使用日,月和年。不用擔心,在 C# 中,為了將字串轉換為 DateTime
物件,我們使用了一個名為 DateTime
的預定義類。
有幾種在 C# 中將字串轉換為 DateTime
的方法,但是在這裡,我們僅通過執行示例詳細說明三種方法。這些方法是 Convert.ToDateTime()
,DateTime.Parse()
和 DateTime.ParseExact()
。
C# 使用 Convert.ToDateTime()
將字串轉換為 DateTime
Convert.ToDateTime()
的正確語法是
Convert.ToDateTime(dateTobeConverted);
Convert.ToDateTime(dateTobeConverted, cultureInfo);
這裡應該注意,如果你不提供區域性資訊,那麼預設情況下,編譯器會將我們的日期字串視為月/日/年。CultureInfo
是 System.Globalization
名稱空間中的一個 C# 類,有關特定的 CultureInfo
。
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);
}
}
輸出:
The Date is: 4 6 2020
現在,我們將通過傳遞 CultureInfo
物件作為引數來實現它。
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);
}
}
輸出:
The Date is: 4 6 2020
如果我們將 CultureInfo
更改為 nl-NL
,則將交換月份和日期。
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);
}
}
輸出:
The Date is: 6 4 2020
C# 使用 DateTime.Parse()
將字串轉換為 DateTime
DateTime.Parse()
的語法是,
DateTime.Parse(dateTobeConverted);
DateTime.Parse(dateTobeConverted, cultureInfo);
DateTime.Parse()
方法也是如此,如果我們不提供文化資訊作為引數,那麼預設情況下,我們的系統會將其視為月/日/年。
如果要轉換的字串的值為 null,則它將返回 ArgumentNullException
,應使用 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);
}
}
輸出:
The Date is: 4 6 2020
C# 使用 DateTime.ParseExact()
將 string
轉換為 DateTime
DateTime.ParseExact()
的語法是,
DateTime.ParseExact(dateTobeConverted, dateFormat, cultureInfo);
DateTime.ParseExact()
是將字串轉換為 DateTime
的最佳方法。在此方法中,我們將日期的格式作為引數傳遞。這使使用者易於準確執行轉換。
在這裡,我們通過傳遞 null
作為引數來代替文化資訊,因為它是一個全新的主題,並且需要花費一些時間來理解。
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);
}
}
輸出:
The Date is: 6 4 2020
まとめ
有許多方法可以在 C# 中將字串轉換為 DateTime
。將字串轉換為 DateTime
的最佳方法是 DateTime.ParseExact()
。
相關文章 - Csharp String
- C# 將字串轉換為列舉型別
- C# 中將整形 Int 轉換為字串 String
- 在 C# 中的 Switch 語句中使用字串
- 如何在 C# 中把一個字串轉換為布林值
- 如何在 C# 中把一個字串轉換為浮點數
- 如何在 C# 中將字串轉換為位元組陣列