Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用KnockoutJs绑定将moment.js中的日期转换为其他格式?_Javascript_Knockout.js_Momentjs_Bootstrap Datepicker - Fatal编程技术网

Javascript 如何使用KnockoutJs绑定将moment.js中的日期转换为其他格式?

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(印度标准时间) 正在尝试将此值

在我的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(印度标准时间)

正在尝试将此值转换为其他值

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]);