Javascript 如何使用KnockoutJs绑定将moment.js中的日期转换为其他格式?
在我的web应用程序中,我使用Bootstrap datepicker和KnockoutJs绑定日期,如何将日期转换为其他格式Javascript 如何使用KnockoutJs绑定将moment.js中的日期转换为其他格式?,javascript,knockout.js,momentjs,bootstrap-datepicker,Javascript,Knockout.js,Momentjs,Bootstrap Datepicker,在我的web应用程序中,我使用Bootstrap datepicker和KnockoutJs绑定日期,如何将日期转换为其他格式 self.date = ko.observable(moment()) .extend({ required: true }); 默认显示 2015年8月6日星期四11:59:21 GMT+0530 在datepicker之后显示 2015年8月6日星期四05:30:00 GMT+0530(印度标准时间) 正在尝试将此值
self.date = ko.observable(moment())
.extend({ required: true });
默认显示
2015年8月6日星期四11:59:21 GMT+0530
在datepicker之后显示
2015年8月6日星期四05:30:00 GMT+0530(印度标准时间)
正在尝试将此值转换为其他值
moment(self.date, '2015-08-06T011:32:21.196Z')
它表明
无效日期
这里我使用了如下所示的敲除绑定
ko.bindingHandlers.datepicker = {
init: function (element, valueAccessor, allBindingsAccessor) {
var options = allBindingsAccessor().datepickerOptions || {};
$(element).datepicker(options).on("changeDate", function (ev) {
var observable = valueAccessor();
observable(ev.date);
});
},
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
$(element).datepicker("setValue", value);
}
};
我是怎么做的,这是正确的方法吗?提出解决方案,,
谢谢这是一个用于MomentJS的KnockoutJS的自定义绑定实现 另一个选项是定义
ko.computed()
,它将使用时间戳作为因变量
var Vm=function(){
var self=这个;
self.date=ko.observable();
self.dateFormatted=ko.computed(函数(){
返回时刻(self.date()).format(“DD/MM/YYYY HH:MM:ss”)
});
setInterval(函数(){
self.date(新日期());
}, 1000);
};
var vm=新vm();
ko.applyBindings(vm,$(“正文”)[0])代码>
var Vm=函数(){
var self=这个;
self.date=ko.observable();
self.dateFormatted=ko.computed(函数(){
返回时刻(self.date()).format(“DD/MM/YYYY HH:MM:ss”)
});
setInterval(函数(){
self.date(新日期());
}, 1000);
};
var vm=新vm();
ko.applyBindings(vm,$(“正文”)[0]);