jQuery datepicker的dateFormat - 如何与.NET当前文化DateTimeFormat集成

dra*_*fly 5 asp.net-mvc jquery jquery-ui jquery-ui-datepicker asp.net-mvc-3

我在.NET ASP MVC3内部网应用程序中使用jQuery的datepicker插件.使用应用程序的用户在不同国家和地区设有办事处.这就是我想将Thread.CurrentThread.CurrentCulture.DateTimeFormatjQuery datepicker插件集成的原因.我的第一个解决方案是创建辅助扩展方法:

    public static string jQueryDatePickerFormat(this HtmlHelper helper)
    {
        return Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern;
    }
Run Code Online (Sandbox Code Playgroud)

并在javascript中设置dateFormat选项,如下所示:

$("#StartDate").datepicker({ dateFormat: '@Html.jQueryDatePickerFormat()' });
Run Code Online (Sandbox Code Playgroud)

在我意识到datepicker的dateFormat选项支持与.NET中的格式具有不同实现的格式之后不久.

例如:pl-PL的Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern返回yyyy-MM-dd(它将日期格式化为2010-01-01),而datePicker中的相同格式将格式化为与20102010 1月01日相同的日期.我很快调整了我的辅助方法并应用了快速修复替换("yyyy","yy").替换("MM","mm"):

    public static string jQueryDatePickerFormat(this HtmlHelper helper)
    {
        return Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.Replace("yyyy", "yy").Replace("MM", "mm");
    }
Run Code Online (Sandbox Code Playgroud)

我工作,但我等待其他问题出现的那一刻.有没有简单的方法将.NET语言环境设置实现到jQuery的datePicker插件中?

谢谢你,帕维尔

MiF*_*vil 5

ASP.NET MVC中的代码项目文章JQueryUI Datepicker http://www.codeproject.com/Articles/62031/JQueryUI-Datepicker-in-ASP-NET-MVC具有完全符合您想要的功能

    /// Converts the .net supported date format current culture 
/// format into JQuery Datepicker format.
/// </summary>
/// <param name="html">HtmlHelper object.</param>
/// <param name="format">Date format supported by .NET.</param>
/// <returns>Format string that supported in JQuery Datepicker.</returns>
public static string ConvertDateFormat(this HtmlHelper html, string format)
Run Code Online (Sandbox Code Playgroud)

我还发布了一个相反的函数 - 将jQuery UI Datepicker格式转换为.Net Date格式