Ответ 1
Это действительно работает. Я использовал бета-версию, размещенную на CDN Microsoft. Если вы загружаете последнюю версию, все работает так, как ожидалось.
Я только начал использовать jQuery Templates в качестве моего механизма шаблонов javascript. Мой вопрос в том, как я могу отформатировать дату (возвращенную из ASP.NET Json ActionResult) в форме:
/Date(1288709830000)/
Я пробовал сделать следующее:
{{= $.format(new Date(parseInt(comment.DateCreated.substr(6))), 'd')}}
Обратите внимание, что вышеописанный использует новый плагин глобализации jquery для добавления метода $.format
. Также обратите внимание, что {{= comment.DateCreated }}
является длинной рукой для выражения ${comment.DateCreated}
.
Я бы очень признателен, если бы вы могли помочь.
Это действительно работает. Я использовал бета-версию, размещенную на CDN Microsoft. Если вы загружаете последнюю версию, все работает так, как ожидалось.
Это то, что я использовал
var formatDate = function (datetime) {
var dateObj = new Date(parseInt(datetime.replace("/Date(", "").replace(")/", ""), 10));
return dateObj.format("dd-MMM-yyyy"); //01-Jun-2001
}
И это в моем шаблоне JQuery
${FormatDate (InceptionDate)}
Я придумал очень хакерское решение. Если вы добавили на страницу следующую функцию:
function format(o, t) {
return $.format(o, t);
}
Вы можете изменить выражение следующим образом:
{{= format(new Date(parseInt(comment.DateCreated.substr(6))), 'd') }}
И он отлично работает. Кажется странным, что два плагина, созданных Microsoft, конфликтуют таким образом.
Чтобы форматировать datetime в шаблоне jQuery, вы можете написать такую функцию, как:
function formatDate(datetime) {
var dateObj = new Date(datetime);
var dateStr = (dateObj.getMonth()+1) + "/" + dateObj.getDate() + "/" + dateObj.getFullYear();
return dateStr; // will return mm/dd/yyyy
}
Затем вы можете вызвать эту функцию из шаблона jQuery следующим образом: ${formatDate(comment.DateCreated)}
Подробнее см. http://api.jquery.com/template-tag-equal