[英]JQuery DatePicker Invalid Date
I am having an issue when the date from JQuery DatePicker is selected and used as a variable in my SQL Statement. 选择来自JQuery DatePicker的日期并将其用作SQL语句中的变量时,我遇到了问题。 It brings up an error saying invalid datetime string even when I formatted it using DateTime.Parse or Convert.DateTime. 即使使用DateTime.Parse或Convert.DateTime格式化日期时间字符串,它也会显示一条错误消息,指出无效的日期时间字符串。
JQuery DatePicker jQuery DatePicker
<script>
$( function() {
$("#datepicker").datepicker({
altField: "#ContentPlaceHolder1_selectDate",
defaultDate: $('#ContentPlaceHolder1_defaultDate').val(),
dateFormat: "mm-dd-yy",
onSelect: function (date, obj) {
$('#ContentPlaceHolder1_defaultDate').val(date);
$('#ContentPlaceHolder1_selectDate').val(date)
$('#ContentPlaceHolder1_defaultDate').trigger('change');
$('#form1').submit();
},
});
});
</script>
<script>
$(document).ready(function () {
onLoad: $('#ContentPlaceHolder1_defaultDate').val($('#ContentPlaceHolder1_selectDate').val());
});
</script>
<div id="datepicker"></div>
<input type="text" id="defaultDate" runat="server"/>
<input type="text" id="selectDate" runat="server" />
<asp:Label ID="Label1" runat="server" />
UPDATE: This issue is the Postback. 更新:此问题是回发。 If I do this code. 如果我执行此代码。 It works fine 工作正常
if (IsPostBack)
{
string defDate = selectDate.Value;
DateTime DT = DateTime.Parse(defDate);
label1.Text = DT.ToShortDateString();
}
However this causes the error message 但是,这会导致错误消息
if (!IsPostBack)
{
string defDate = selectDate.Value.Replace('-', '/');
DateTime DT = DateTime.Parse(defDate);
label1.Text = DT.ToShortDateString();
}
This code works 此代码有效
if (!IsPostBack)
{
string defDate = DateTime.Now.Date.ToShortDateString();
DateTime DT = DateTime.Parse(defDate);
label1.Text = DT.ToShortDateString();
}
else
{
string defDate = selectDate.Value.Replace('-', '/');
DateTime DT = DateTime.Parse(defDate);
label1.Text = DT.ToShortDateString();
}
Can someone explain the reason for this? 有人可以解释原因吗?
DateTime.Parse only takes 4 different formats. DateTime.Parse仅采用4种不同的格式。
2018-09-14
09/14/2018
Sep 14 2018
14 Sep 2018
It will not accept mm-dd-yy
format. 它将不接受mm-dd-yy
格式。
Try replacing the -
with /
like the following. 尝试更换-
与/
像下面这样。
defDate.replace('-', '/');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.