我使用jQuery的datepicker
部件以下列方式(在我母版页):TryParseExact()方法不解析来自jQuery的日期选择器选择日期
<script>
$(".datepicker").datepicker({
showAnim: 'fadeIn',
minDate: 0,
maxDate: "3M",
dateFormat: "dd-mm-yy"
});
</script>
我有一个asp:Repeater
控制在我的内容页面。在C#代码中(我的内容页面),我使用DateTime.TryParseExact
方法从中继控制器获取日期并以如下方式解析它:
for (int i = 0; i < rptr.Items.Count; i++)
{
....
...//find other controls
...
TextBox txtDate = (TextBox)rptr.Items[i].FindControl("txtServiceDate");
DateTime eventDate = new DateTime();
if (txtDate.Text != null)
{
if (DateTime.TryParseExact(txtDate.Text, "dd-mm-yy", null, System.Globalization.DateTimeStyles.None, out eventDate))
{
cartObj.ServiceDate = eventDate; //code doesn't go here
}
else
{
cartObj.ServiceDate = DateTime.Now; //code reaches here!which means parsing failed
}
}
else
{
cartObj.ServiceDate = DateTime.Now;
}
...
....
...//other code
}
正如您在datepicker()
中看到的,即使指定的格式相同,我也指定日期格式为dd-mm-yy', but this date doesn't get formatted in my
TrParseExact()`方法。
什么可能是错的?
编辑: 我已经添加了什么进入TryParseExact方法在调试模式下的截图:
'mm'意味着.NET自定义格式字符串的分钟数,而不是几个月......(我还*强烈*建议使用yyyy而不是yy ...并且理想情况下是yyyy-MM-dd而不是其他方式圆......这就是ISO-8601格式。) – 2015-04-01 04:50:37
@JonSkeet:我使用的是'yyyy-MM-dd'格式。但是这也没有得到解析,我想我不能在'datepicker()'中使用相同的格式,因为它不会生成所需的日期格式。 – 2015-04-01 04:57:12
那么通过给出一个无法解析的值的示例并将其硬编码成一个简短但完整的程序来演示问题,从而剪掉了jQuery部分。 – 2015-04-01 04:57:53