jquery Datepicker设置日期改变格式

发布于 2024-10-24 23:21:31 字数 1120 浏览 1 评论 0原文

我在 MVC2 上使用 jquery UI datepicker 来设置我的开始日期选择器。

当我进入“创建”视图时,我希望日期选择器保持其最小值 - 即今天。

但由于某种原因,我看到这样的日期格式字符串:mm/dd/yyyy HH:MM:SS AM 或 PM。 仅在用户选择日期之前 - 在用户选择日期之后,我得到了我想要的格式:在我的日期选择器中 - dateStart 和 dateEnd 中的 mm/dd/yyyy

,当我去编辑时,我从数据库中获取值(日期数据类型)并有同样的问题。 这是我的代码:

$(function () {
        var buttonImage = $(".selector").datepicker("option", "buttonImage"); // date image

        // Datepicker
        $('#DateStart').datepicker({
            inline: true,
            showOn: 'both',
            buttonImage: '/Content/calandar2.gif',
            minDate: '+0',
            dateFormat: 'mm/dd/yy',
            onSelect: function (dateStr) {
                var min = $(this).datepicker('getDate') || new Date(); // Selected date or today if none
                $('#DateEnd').datepicker('option', { minDate: min });
            }
        });

        $('#DateEnd').datepicker({
            inline: true,
            showOn: 'both',
            buttonImage: '/Content/calandar2.gif',
            dateFormat: 'mm/dd/yy',
            minDate: '+0'
        });
}

谢谢!

I am using jquery UI datepicker on MVC2 to set my startdate picker.

When I go to the 'create' view, I want the datepicker to hold its minimal value- which is today.

But for some reason I see the date format string like this: mm/dd/yyyy HH:MM:SS AM or PM.
only before the user pick a date- after the user picks a date I get the format that I want: mm/dd/yyyy in both of my datepickers- dateStart and dateEnd

and when I go to edit, I get the value from the database (date datatype) and have the same problem.
this is my code:

$(function () {
        var buttonImage = $(".selector").datepicker("option", "buttonImage"); // date image

        // Datepicker
        $('#DateStart').datepicker({
            inline: true,
            showOn: 'both',
            buttonImage: '/Content/calandar2.gif',
            minDate: '+0',
            dateFormat: 'mm/dd/yy',
            onSelect: function (dateStr) {
                var min = $(this).datepicker('getDate') || new Date(); // Selected date or today if none
                $('#DateEnd').datepicker('option', { minDate: min });
            }
        });

        $('#DateEnd').datepicker({
            inline: true,
            showOn: 'both',
            buttonImage: '/Content/calandar2.gif',
            dateFormat: 'mm/dd/yy',
            minDate: '+0'
        });
}

THANK YOU!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

初相遇 2024-10-31 23:21:31

听起来您的问题与 HtmlHelper 和 DateTime 值有关。

<%=Html.TextBoxFor(model=>model.SomeDate) %>

<%=Html.EditorFor(model=>model.SomeDate) %>

默认情况下将调用 DateTime.ToString()

如果是这种情况,您可以将其转换为简单的

<%
  var theValue = //something to get your date time and call .ToShortDateString()
%>
<%=Html.TextBox("DateStart", value) %>

如果您使用模板,您也可以这样做:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>
<%
    string value;
    if (Model.HasValue && Model.Value != DateTime.MinValue) 
        value = Model.Value.ToShortDateString();
    else 
        value = string.Empty;
%>
<%=Html.TextBox("", value) %>

It sounds like your issue is with the HtmlHelper and the DateTime value.

<%=Html.TextBoxFor(model=>model.SomeDate) %>

or

<%=Html.EditorFor(model=>model.SomeDate) %>

Which by default will call DateTime.ToString()

If that is the case you can either convert it to be simply

<%
  var theValue = //something to get your date time and call .ToShortDateString()
%>
<%=Html.TextBox("DateStart", value) %>

If you are using templates you can also do this:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<System.DateTime?>" %>
<%
    string value;
    if (Model.HasValue && Model.Value != DateTime.MinValue) 
        value = Model.Value.ToShortDateString();
    else 
        value = string.Empty;
%>
<%=Html.TextBox("", value) %>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文