我想將特定格式的字符串轉換爲DateTime
。將字符串轉換爲DateTime對象
我的具體字符串格式是「dd-mm-yyyy
」。
我不能做任何字符串操作。
這是我現在所擁有的代碼:
DateTime convertedDate = DateTime.Parse(stringInput);
我想將特定格式的字符串轉換爲DateTime
。將字符串轉換爲DateTime對象
我的具體字符串格式是「dd-mm-yyyy
」。
我不能做任何字符串操作。
這是我現在所擁有的代碼:
DateTime convertedDate = DateTime.Parse(stringInput);
看來你想要的靜態ParseExact
方法,你可以指定實際的日期時間格式。
var convertedDate = DateTime.ParseExact(input, "dd-MM-yyyy", null);
(根據上下文,你可能還需要指定CultureInfo.InvariantCulture
,而不是null
/電流文化作爲參數。)
DateTime.ParseExact("01-05-2009", "dd-MM-yyyy", null)
這聽起來像一個本地化問題 - 如果是這種情況,我建議使用接受System.IFormatProvider的overloads of DateTime.parse之一。從文檔:
Type: System.IFormatProvider An object that supplies culture-specific format information about s.
這也使你的代碼是靈活的 - 如果日期格式在未來發生了改變,以支持不同的文化,你可以改變的格式提供。
var convertedDate = DateTime.ParseExact("04-05-2010","dd-MM-yyyy",CultureInfo.InvariantCulture);
string m = "11-02-1983";
var culture = CultureInfo.CreateSpecificCulture("fr-FR");
var styles = DateTimeStyles.None;
DateTime date;
if (DateTime.TryParse(m, culture, styles, out date))
{
//grabbed date successfully
}
else
{
//epic fail
}