Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 MVC3文化与jQuery UI日期格式_Asp.net Mvc 3_Jquery Ui_Datepicker - Fatal编程技术网

Asp.net mvc 3 MVC3文化与jQuery UI日期格式

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的结果数据,我需要指定一种日期格式。但是对于英国格式的日期,

我在使用jQueryUIDatePicker对象的MVC3应用程序中遇到问题

在MVC应用程序中,我要求用户选择所需的区域性,即en GB,然后将应用程序中的所有日期和货币格式化为英国格式

然后,我可以通过
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")