我使用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