ASP.NET AJAX и формат DateTime на клиенте
-
03-07-2019 - |
Вопрос
Итак, я наконец-то настроил службу WCF и общаюсь с браузером через ASP.NET AJAX. Но я обнаружил, что когда я заполняю html-таблицу своими данными ... формат даты и времени выглядит следующим образом:
Пт, 02 января 2009 15:27:12 GMT-0500 (восточное стандартное время)
На сервере я использую формат .NET DateTime. Должен ли я использовать что-то еще и выполнять работу на сервере? или есть какой-нибудь простой способ с помощью JavaScript (ASP.NET AJAX или jQuery), чтобы исправить это на клиенте? Р>
Мне нравится только часть 2 января 2009 15:27:12. Я думаю, я мог бы использовать substring (), но я что-то упустил?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Я выяснил, что данные, возвращающиеся в браузер, являются действительными объектами JavaScript Date.
Таким образом, вы можете использовать любую из встроенных функций JavaScript Date для обработки значения или ...
Вы можете использовать .toString (). Substring () и обрезать то, что вам не нужно.
Решение
Поскольку вы используете ASP.NET Ajax, вы можете вызывать format для вашего объекта Date в javascript, аналогично тому, как вы это делаете в .NET. например:
var myDateString = myServiceObject.Date.format("d"); //short date pattern
или пользовательский шаблон ...
var myDateString2 = myServiceObject.Date.format("yyyy/mm/dd"); //some custom pattern..
Здесь вы найдете список поддерживаемых форматных строк: http://seejoelprogram.wordpress.com/2008/08/07/supported-number-and-datetime-format-strings-in-aspnet-ajax/
Другие советы
Когда вы печатаете значение, вы должны иметь возможность напечатать его в собственном формате браузера,
Или, если вы хотите, чтобы это было указано в веб-сервисе, верните строку с return yourDatetimeVaiable.Tostring (cultureinfo);
или что-то похожее на это ...
Второй ответ содержит неверную строку формата. Было бы написано:
var myDateString2=myServiceObject.Date.format("yyyy/MM/dd");
мм обозначает минуты, а не месяц.