Mar*_*tin 33 html5 datetime knockout.js
在我看来,我希望显示一个knockout.js包含日期的绑定字段.它只是一个显示字段而不是输入字段.像下面的东西basemodel.actionDate = ko.observable()
<p class="display-field" data-bind="text: baseModel.actionDate"/>
Run Code Online (Sandbox Code Playgroud)
但是,显示如下:
2013-06-17T11:56:18.4537687Z
Run Code Online (Sandbox Code Playgroud)
格式化这个的最简单方法是什么dd mm yyyy.例如:17 June 2013?
Bra*_*don 73
我推荐moment.js日期格式库.
使用它,您可以在视图中执行以下操作:
<p class="display-field" data-bind="text: moment(baseModel.actionDate()).format('LL')"/>
Run Code Online (Sandbox Code Playgroud)
And*_*ers 13
确保服务以正确的格式输出,或在客户端格式化
如果你想要客户端,那么你可以将ISO日期字符串解析为Date对象,然后使用jQuery globalize将其格式化为所需的格式.
我为此使用了KO扩展器
ko.extenders.date = function(target, format) {
return ko.computed({
read: function() {
var value = target();
if(typeof value === "string") {
value = new Date(value);
}
format = typeof format === "string" ? format: undefined;
value = Globalize.format(value, format);
return value;
},
write: target
});
}
Run Code Online (Sandbox Code Playgroud)
更新
我在我的博客上有一个问题如何检索原始日期值可以完成我在计算的上面公开原始值