可能重复:
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