[英]DateTime.TryParseExact returning false
我正在尝试使用DateTime.TryParseExact
获取DateTime
格式
DateTime logDate;
DateTime.TryParseExact(
string.Format("{0}/{1}/{2}", day, month, ddlYear.SelectedValue),
"dd/MM/yyyy",
null,
System.Globalization.DateTimeStyles.None,
out logDate);
它返回false
。 我想念什么吗?
例如,day = 01,month = 02,year = 2013
很难确切说明问题所在,但您应该尝试将DateTimeFormatInfo.InvariantInfo
指定为DateTime.TryParseExact
参数:
DateTime.TryParseExact(
"20/12/2013",
"dd/MM/yyyy",
System.Globalization.DateTimeFormatInfo.InvariantInfo,
System.Globalization.DateTimeStyles.None,
out logDate);
这是因为/
在模式字符串中具有特殊含义:
“ /”自定义格式说明符表示日期分隔符,用于区分年,月和日。 从当前或指定区域性的
DateTimeFormatInfo.DateSeparator
属性中检索适当的本地化日期分隔符。自定义日期和时间格式字符串中的内容: “ /”自定义格式说明符
有一个机会,培养你在运行你的应用程序已日期分隔符不同,那么/
本身。
我猜天和月是int
类型的,因此无法识别结果,因此最好使用d/M/yyyy
格式。
DateTime.TryParseExact(
string.Format("{0}/{1}/{2}", day, month, ddlYear.SelectedValue),
"d/M/yyyy",
null,
System.Globalization.DateTimeStyles.None,
out logDate);
您的字符串应显示为"1/2/2013"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.