可能重複:
How can I convert a string into datetime in .NET?將字符串轉換爲DATETIME
我有以下格式 「15/03/2046」 的字符串。如何將此字符串轉換爲DateTime對象?
我的問題是當我做Convert.ToDateTime(「15/03/2046」)我得到一個異常。
當我做Convert.ToDateTime(「03/03/2046」)每件事情都很好。
所以我想我必須在轉換時指定格式。
可能重複:
How can I convert a string into datetime in .NET?將字符串轉換爲DATETIME
我有以下格式 「15/03/2046」 的字符串。如何將此字符串轉換爲DateTime對象?
我的問題是當我做Convert.ToDateTime(「15/03/2046」)我得到一個異常。
當我做Convert.ToDateTime(「03/03/2046」)每件事情都很好。
所以我想我必須在轉換時指定格式。
DateTime.TryParse,DateTime.TryParseExact –
或DateTime.TryParse,如果有可能您的解析字符串格式不正確或爲空,它總是很好。如果您的日期格式發生變化,也可以使用 – Slider345
[This](http://msdn.microsoft.com/en-us/library/5hh873ya.aspx)。 –
使用DateTime.ParseExact
指定輸入字符串的格式:
DateTime d = DateTime.ParseExact(
"15/03/2046",
"dd/MM/YYYY",
CultureInfo.InvariantCulture
);
更通用的代碼,使用擴展方法和默認值的情況下,如果它不能解析日期
void Main()
{
var dt = "15/03/2046";
dt.ToDateTime("fr-FR", DateTime.Now).Dump();
}
public static class Extensions
{
public static DateTime ToDateTime(this string dateTime, string culture, DateTime defaultValue)
{
DateTime dt;
if (DateTime.TryParse(dateTime, System.Globalization.CultureInfo.CreateSpecificCulture(culture), System.Globalization.DateTimeStyles.None, out dt))
return dt;
else
return defaultValue;
}
}
看看在相關問題的列表中。或者你知道..搜索。 – Ray