C# 日期时间Jquery日期时间选择器

C# 日期时间Jquery日期时间选择器,c#,javascript,jquery,asp.net,datetimepicker,C#,Javascript,Jquery,Asp.net,Datetimepicker,我在文本框的页面上显示日期时间时遇到问题。参见小提琴上的: Internet explorer和Firefox展示:2013-12-16T01:00 Chrome展会:2013年12月16日凌晨01:00 Internet explorer和Firefox中的Javascript控制台显示: 分析日期/时间字符串时出错:位置2处出现意外文字 日期/时间字符串=2013-12-16T01:00时间格式=hh:mm TT日期格式= 年月日 ASP.NET C#代码: StartDatePicker.

我在文本框的页面上显示日期时间时遇到问题。参见小提琴上的:

Internet explorer和Firefox展示:2013-12-16T01:00

Chrome展会:2013年12月16日凌晨01:00

Internet explorer和Firefox中的Javascript控制台显示:

分析日期/时间字符串时出错:位置2处出现意外文字 日期/时间字符串=2013-12-16T01:00时间格式=hh:mm TT日期格式= 年月日

ASP.NET C#代码:

StartDatePicker.Text = dtStartDate.ToString("yyyy-MM-ddTHH:mm");
<asp:TextBox ID="EndDatePicker" runat="server" CssClass="rounded dateinput" ClientIDMode="Static" TextMode="DateTimeLocal"></asp:TextBox>
<asp:TextBox ID="StartDatePicker" runat="server" CssClass="rounded dateinput" ClientIDMode="Static" TextMode="DateTimeLocal"></asp:TextBox>
咨询后,您的需求得到更新。您还需要指定日期格式,因为您没有使用默认格式:

if (!Modernizr.inputtypes.date) {
    $(function () {
        $("#StartDatePicker").datetimepicker({
            dateFormat: "yy-mm-dd",
            timeFormat: "'T'HH:mm",
            minuteGrid: 10,
            addSliderAccess: true,
            sliderAccessArgs: {
                touchonly: false
            }
        });
    }); };
这是一把小提琴:

编辑:我冒昧地稍微改进了你的代码。这里有一个更新的fiddle:它将您的选项存储到一个变量中,并且只检查
modernizer
一次。

在查阅您的更新需求后。您还需要指定日期格式,因为您没有使用默认格式:

if (!Modernizr.inputtypes.date) {
    $(function () {
        $("#StartDatePicker").datetimepicker({
            dateFormat: "yy-mm-dd",
            timeFormat: "'T'HH:mm",
            minuteGrid: 10,
            addSliderAccess: true,
            sliderAccessArgs: {
                touchonly: false
            }
        });
    }); };
这是一把小提琴:

编辑:我冒昧地稍微改进了你的代码。这里有一个更新的fiddle:它将您的选项存储到一个变量中,并且只检查
modernizer
一次。

这将使输入文本框保留为支持它的浏览器的本地日期时间。如果没有,那么它将使用jQueryUIDatePicker和timepicker插件

请评论与任何提示,你可能不得不优化代码

if (!Modernizr.inputtypes.date) {
$(function () {
    var d = Date.parse($('#StartDatePicker').val());
    $('#StartDatePicker').val($.format.date(d, "yyyy-MM-dd hh:mm a"));
    d = Date.parse($('#EndDatePicker').val());
    $('#EndDatePicker').val($.format.date(d, "yyyy-MM-dd hh:mm a"));

    var startDateTextBox = $('#StartDatePicker');
    var endDateTextBox = $('#EndDatePicker');
    startDateTextBox.datetimepicker({
        dateFormat: "yy-mm-dd",
        timeFormat: "hh:mm TT",
        minuteGrid: 10,
        addSliderAccess: true,
        sliderAccessArgs: {
            touchonly: false
        },
        onClose: function (dateText, inst) {
            if (endDateTextBox.val() != '') {
                var testStartDate = startDateTextBox.datetimepicker('getDate');
                var testEndDate = endDateTextBox.datetimepicker('getDate');
                if (testStartDate > testEndDate) endDateTextBox.datetimepicker('setDate', testStartDate);
            } else {
                endDateTextBox.val(dateText);
            }
        },
        onSelect: function (selectedDateTime) {
            endDateTextBox.datetimepicker('option', 'minDate', startDateTextBox.datetimepicker('getDate'));
        }
    });

    endDateTextBox.datetimepicker({
        dateFormat: "yy-mm-dd",
        timeFormat: "hh:mm TT",
        minuteGrid: 10,
        addSliderAccess: true,
        sliderAccessArgs: {
            touchonly: false
        },
        onClose: function (dateText, inst) {
            if (startDateTextBox.val() != '') {
                var testStartDate = startDateTextBox.datetimepicker('getDate');
                var testEndDate = endDateTextBox.datetimepicker('getDate');
                if (testStartDate > testEndDate) startDateTextBox.datetimepicker('setDate', testEndDate);
            } else {
                startDateTextBox.val(dateText);
            }
        },
        onSelect: function (selectedDateTime) {
            startDateTextBox.datetimepicker('option', 'maxDate', endDateTextBox.datetimepicker('getDate'));
        }
    });

});
}

这将使输入文本框保留为支持它的浏览器的本地日期时间。如果没有,那么它将使用jQueryUIDatePicker和timepicker插件

请评论与任何提示,你可能不得不优化代码

if (!Modernizr.inputtypes.date) {
$(function () {
    var d = Date.parse($('#StartDatePicker').val());
    $('#StartDatePicker').val($.format.date(d, "yyyy-MM-dd hh:mm a"));
    d = Date.parse($('#EndDatePicker').val());
    $('#EndDatePicker').val($.format.date(d, "yyyy-MM-dd hh:mm a"));

    var startDateTextBox = $('#StartDatePicker');
    var endDateTextBox = $('#EndDatePicker');
    startDateTextBox.datetimepicker({
        dateFormat: "yy-mm-dd",
        timeFormat: "hh:mm TT",
        minuteGrid: 10,
        addSliderAccess: true,
        sliderAccessArgs: {
            touchonly: false
        },
        onClose: function (dateText, inst) {
            if (endDateTextBox.val() != '') {
                var testStartDate = startDateTextBox.datetimepicker('getDate');
                var testEndDate = endDateTextBox.datetimepicker('getDate');
                if (testStartDate > testEndDate) endDateTextBox.datetimepicker('setDate', testStartDate);
            } else {
                endDateTextBox.val(dateText);
            }
        },
        onSelect: function (selectedDateTime) {
            endDateTextBox.datetimepicker('option', 'minDate', startDateTextBox.datetimepicker('getDate'));
        }
    });

    endDateTextBox.datetimepicker({
        dateFormat: "yy-mm-dd",
        timeFormat: "hh:mm TT",
        minuteGrid: 10,
        addSliderAccess: true,
        sliderAccessArgs: {
            touchonly: false
        },
        onClose: function (dateText, inst) {
            if (startDateTextBox.val() != '') {
                var testStartDate = startDateTextBox.datetimepicker('getDate');
                var testEndDate = endDateTextBox.datetimepicker('getDate');
                if (testStartDate > testEndDate) startDateTextBox.datetimepicker('setDate', testEndDate);
            } else {
                startDateTextBox.val(dateText);
            }
        },
        onSelect: function (selectedDateTime) {
            startDateTextBox.datetimepicker('option', 'maxDate', endDateTextBox.datetimepicker('getDate'));
        }
    });

});

}

您没有使用jquery datepicker UI插件datetimepicker看起来像另一个插件。试着做一把小提琴。以下是工作的起点生成的HTML是什么样子的?请查看一个工作示例,说明您没有使用jquery datepicker UI插件datetimepicker看起来像另一个插件。试着做一把小提琴。这里是工作的起点,你生成的HTML是什么样子的?请查看这个问题的工作示例,非常感谢!出于某种原因,Chrome似乎只喜欢这样的日期:2013-11-24T21:42知道如何让它与Chrome以及其他浏览器一起工作吗?这是最新版本:非常感谢!出于某种原因,Chrome似乎只喜欢这样的日期:2013-11-24T21:42知道如何让它与Chrome以及其他浏览器一起工作吗?这是最新的版本:如果这段代码有效,并且您希望对其进行审阅,我建议您将其发布到。这不是进行此类反馈的合适位置。如果此代码有效,并且您希望对其进行审阅,我建议将其发布到。这不是进行此类反馈的适当场所。