gpt4 book ai didi

c# - 将 .NET DateTimeFormatInfo 转换为 Javascript jQuery formatDate?

转载 作者:数据小太阳 更新时间:2023-10-29 04:04:03 26 4
gpt4 key购买 nike

我有一个 jQuery UI 日期选择器,我打算将其与 ASP.NET MVC 中的文本框一起使用。文本框中的日期显示是通过 CultureInfo 本地化的,当然应该由 jquery 识别以在日期选择器中选择正确的日期:

<%= Html.TextBox("Date", Model.Date.ToString("d", currentCultureInfo),
new { @class = "datepicker" })%>

我现在要做的是用类似的日期格式初始化日期选择器

string jsCode = @"$("".datepicker"").datepicker({
dateFormat: '" + currentCultureInfo.DateTimeFormat.ShortDatePattern + @"',
});";

问题是 DateTimeFormatInfo 的格式字符串的格式(参见 MSDN 链接)完全不同于jQuery中的格式字符串(jQuery formatDate) .

https://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.aspx

示例(德语日期格式,如 16.07.2009):

.NET: 'dd.MM.yyyy' should be converted to 'dd.mm.yy' in jQuery/Javascript

是否有一种方法或库可以在两种格式之间进行所需的转换?

最佳答案

如果只有 ShortDatePattern 必须转换,下面的代码提供了我所需要的:

public class wxDateTimeConvert
{
/// <summary>
/// Gets the javascript short date pattern.
/// </summary>
/// <param name="dateTimeFormat">The date time format.</param>
/// <returns></returns>
public static string GetJavascriptShortDatePattern(DateTimeFormatInfo dateTimeFormat)
{
return dateTimeFormat.ShortDatePattern
.Replace("M", "m")
.Replace("yy", "y");
}
}

在页面中包含 Javascript:

    /// <summary>
/// Inserts the localized datepicker jquery code
/// </summary>
private void InsertLocalizedDatepickerScript()
{

string dateformat = wxDateTimeConvert.GetJavascriptShortDatePattern(Thread.CurrentThread.CurrentUICulture.DateTimeFormat);
String js = @"$(document).ready(function() {
$("".datepicker"").datepicker({
changeYear: true,
dateFormat: '" + dateformat + @"',
maxDate: new Date()
});
});";
this.Page.Header.Controls.Add(
new LiteralControl("<script type=\"text/javascript\">" + js + "</script>")
);
}

但是,这不处理月份或日期名称、时间格式或其他特殊情况。

关于c# - 将 .NET DateTimeFormatInfo 转换为 Javascript jQuery formatDate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1138635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com