Asp.net mvc 3 MVC3文化与jQuery UI日期格式
我在使用jQueryUIDatePicker对象的MVC3应用程序中遇到问题 在MVC应用程序中,我要求用户选择所需的区域性,即en GB,然后将应用程序中的所有日期和货币格式化为英国格式 然后,我可以通过Asp.net mvc 3 MVC3文化与jQuery UI日期格式,asp.net-mvc-3,jquery-ui,datepicker,Asp.net Mvc 3,Jquery Ui,Datepicker,我在使用jQueryUIDatePicker对象的MVC3应用程序中遇到问题 在MVC应用程序中,我要求用户选择所需的区域性,即en GB,然后将应用程序中的所有日期和货币格式化为英国格式 然后,我可以通过Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern 但是,英国日期返回的格式为:dd/MM/yyyy 要格式化来自jQueryUIDatePicker的结果数据,我需要指定一种日期格式。但是对于英国格式的日期,
Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern
但是,英国日期返回的格式为:dd/MM/yyyy
要格式化来自jQueryUIDatePicker的结果数据,我需要指定一种日期格式。但是对于英国格式的日期,我需要将格式指定为dd/mm/yy
简单的解决方案是在我的jQuery调用中使用Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern
来格式化日期,但显然这会导致格式不一致,因为jQuery UI对这一点的解释不同(01/December/20112011
而不是01/12/2011
)
有什么简单的办法吗
我唯一能想到的方法是询问用户两次日期显示的格式是什么?我可以想出另一种解决方案,但技术含量很低,我不确定这样做是否正确:
var dateTime = Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern;
var lowerCaseMonths = Regex.Replace(dateTime, "MM","mm");
var yearOnlyOnce = Regex.Replace(lowerCaseMonths, "yyyy", "yy");
没有“解释变量”只是
那么我想不管它是什么格式,dd/MM/yyyy
MM/dd/yyyy
dd-MM-yyyy
等等,它都应该在jQuery中运行
也许有人有更好的解决方案,但至少这似乎比要求用户输入两次要好。效果很好。希望没有其他日期格式不一致,但是。。。
@System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.ToLower().Replace("yyyy", "yy")
@System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.ToLower().Replace("yyyy", "yy")