在gridview中显示标签上的日期和该标签的提取日期。
Datetime Date;
Label date = gvOrderExecuted.Rows[0].FindControl("lblDate") as Label;
Date = Convert.ToDateTime(date.Text);
此代码抛出错误
'字符串未被识别为有效的日期时间'。
我正在通过日期的价值,例如' 3/31/2015'
答案 0 :(得分:4)
Convert.ToDateTime
,则 DateTime.Parse
方法会使用CurrentCulture
方法明确使用IFormatProvider
设置。
看起来M/dd/yyyy
不是CurrentCulture
的{{3}},而是FormatException
投放string s = "3/31/2015";
DateTime dt;
if(DateTime.TryParseExact(s, "M/dd/yyyy", CultureInfo.InvariantCulture,
DateTimeStyles.None, out dt))
{
Console.WriteLine(dt); // 31/03/2015 00:00:00
}
的原因。
您可以使用standard date and time format或DateTime.ParseExact
方法指定自定义字符串格式,例如;
'/'
DateTime.TryParseExact
具有特殊含义,因为将我替换为当前文化或提供的文化日期分隔符。这意味着,当您使用该分隔符解析一个字符串时,您的解析可能会失败即使,如果您的字符串和格式完全匹配。您可以将这些字符转义为string s = "3/31/2015";
DateTime dt = DateTime.ParseExact(s, "M'/'dd'/'yyyy", CultureInfo.CurrentCulture);
,而无需担心它。
struct tm