MVC3 Cultures vs jQuery UI Форматы даты - PullRequest
3 голосов
/ 01 декабря 2011

У меня проблема с приложением MVC3, использующим объект DatePicker пользовательского интерфейса jQuery.

В приложении MVC я прошу пользователя выбрать необходимую культуру, т. Е. En-GB, которая затем форматирует все даты и валюты в приложении в британском формате.

Затем я могу получить доступ к коду форматирования для этого через Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern

Однако формат, возвращаемый для дат в Великобритании: dd/MM/yyyy

Чтобы отформатировать результирующие данные из средства выбора даты jQuery UI, мне нужно указать формат даты. Но для дат в британском формате мне нужно указать формат как dd/mm/yy

Простым решением было бы просто использовать Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern в моих вызовах jQuery для форматирования даты, но, очевидно, это дает несоответствие форматирования, поскольку это интерпретируется по-разному пользовательским интерфейсом jQuery (01/December/20112011 вместо 01/12/2011)

Есть ли простой способ обойти это?

Единственный способ сделать это - дважды спросить пользователя, в каком формате отображаются даты?

Ответы [ 2 ]

0 голосов
/ 26 июля 2012
@System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.ToLower().Replace("yyyy", "yy")
0 голосов
/ 01 декабря 2011

Я мог бы придумать другое решение, но это довольно низкотехнологично, я не уверен, что это правильный способ сделать это:

var dateTime = Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern;
var lowerCaseMonths = Regex.Replace(dateTime, "MM","mm");
var yearOnlyOnce = Regex.Replace(lowerCaseMonths, "yyyy", "yy");

Без "объяснения переменных" просто

Regex.Replace(Regex.Replace(Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern, "MM","mm"), "yyyy", "yy")

Тогда я думаю, независимо от того, в каком формате, dd/MM/yyyy MM/DD/yyyy dd-MM-yyyy и т. Д., Он должен работать в jQuery.

Может быть, у кого-то есть лучшее решение, но, по крайней мере, это кажется лучше, чем запрашивать ввод пользователя дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...