В JavaScript, как преобразовать строку в дату? Где строка может иметь другой формат культуры - PullRequest
0 голосов
/ 29 апреля 2010

Привет, я получаю DateString в JavaScript из TextBox, как,

    var dateString = document.getElementById('<%= txtEffDate.ClientID %>').value;

Значение dateString может иметь следующий формат.

ru-ru -> "29.04.2010"

fr-FR -> "29/04/2010"

de-DE -> "29.04.2010"

it-IT -> "29/04/2010"

es-ES -> "29/04/2010"

zh-CN -> "2010/4/29"

ja-JP -> "2010/04/29"

sv-SE -> "2010-04-29"

И преобразовать это в Date Object следующим образом,

var d1 = новая дата (dateString);

хотя это дает мне неправильный результат, как для fr-FR "29/04/2010" ==> "Пт 4 мая 00:00:00 UTC + 0530 2012"

Что совершенно не имеет значения, Как мне получить правильную дату?

Я также установил в web.config &

Ответы [ 2 ]

0 голосов
/ 30 апреля 2010

Во-первых, установка < globalization culture="auto" /> в web.config не работает, JavaScript работает на стороне клиента.

Если вы знаете текущую культуру на стороне клиента, вы можете проанализировать год, месяц, день из текстового значения txtEffDate текстового поля. затем вы можете использовать этот код для создания объекта Date.

var d = new Date();
d.setYear(2009);
d.setMonth(11);
d.setDate(2);
d.toString(); //"Wed Dec 02 2009 16:57:51 GMT-0500 (Eastern Standard Time)"
0 голосов
/ 29 апреля 2010

Собственно, Javascript имеет очень, очень ограниченную способность интерпретировать строки даты. Лучше всего использовать для этого дополнительную библиотеку, такую ​​как DateJS , или отправить строку на сервер и использовать там обработку данных .Net.

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