- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个 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/
根据 MSDN,静态属性 DateTimeFormatInfo.InvariantInfo “获取与文化无关(不变)的默认只读 DateTimeFormatInfo 对象”。 然而,长日期模式是“dd
我的 C# 应用程序中有以下代码。 DateTimeFormatInfo.CurrentInfo.DayNames ReSharper 7.1.1 强调了 DateTimeFormatInfo.Cur
我是 Powershell 的新手,实际上是所有 Windows 开发环境的新手。 有了这个功能: [System.Globalization.DateTimeFormatInfo]::Current
这是我的简化代码: DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo; var firstReference = dfi.FirstDay
我正在寻找类似于 MonthDayPattern 的东西在 Java 中。 我已经尝试过 DateFormatSimbols、SimpleDateFormat、DateFormat 等 .Net 为每
我得到了以下文化列表,我想用它们各自的语言获取它们的日期名称 CultureInfo[] newCultures = {new CultureInfo("de-DE"),
我有以下代码: var thursday = new CultureInfo("es-ES").DateTimeFormat.AbbreviatedDayNames[4]; 如预期的那样返回“ju.”
如何更改 DateTimeFormatInfo.CurrentInfo AbbreviatedDayNames 集合。我想使用我的,例如 Tues 而不是 Tue。当我使用 ToString("ddd
我正在尝试解析日期时间,并从客户端输入中接受一种确切的格式。 哪个更好 bool success = DateTime.TryParseExact(value, "dd-MMM-yyyy", D
是否有 DateTimeFormatInfo 格式模式可以将星期几转换为两个字符?例如星期二变成你,星期三变成我们。格式字符串需要符合日期格式的 DateTimeFormatInfo。 添加: 也许我
我使用此代码将我的文化更改为 .Net3.5 中的波斯文化: if (CultureInfo.CurrentCulture.ToString() == "fa-IR") {
为什么这段代码会抛出异常? var dateTime = "2012-03-21_15.12"; var format = new DateTimeFormatInfo() { FullDate
我正在我当前的项目中做一些全局化工作,我遇到了一个奇怪的行为。我在 Windows 7 上运行,只安装了美国英语,我的应用程序在 .NET 3.5 上运行。 给定以下代码段: var culture
我正在重构一些单元测试,发现一些解析策略依赖于 DateTime.TryParseExact 和 sbyte.TryPase,它们本身依赖于 NumberFormatInfo.CurrentInfo
我有一个 jQuery UI 日期选择器,我打算将其与 ASP.NET MVC 中的文本框一起使用。文本框中的日期显示是通过 CultureInfo 本地化的,当然应该由 jquery 识别以在日期选
在澳大利亚,一位客户一直在输入 “1/5” 作为 5 月第一天的快捷方式。我们刚刚从 Windows Server 2008 迁移到 Windows Server 2012。 在 LinqPad 中使
我使用 System.Globalization 如下: CultureInfo calture = new CultureInfo(MyCultureInfoGoesHere); DateTimeF
在 Windows 应用商店应用程序的 .NET API 中 DateTimeFormatInfo 不包含以下属性日期分隔符和时间分隔符。原因可能是两者都允许在完整 API 中进行设置。但如果我需要获
我想从日期时间获取Python中的yearWeek。我已经使用了 IsoCalender()[1],但它返回的星期与我使用 DateTimeFormatInfo.InvariantInfo.Calen
我是一名优秀的程序员,十分优秀!