看看 datejs。
http://www.datejs.com/
这是一个 Javascript 日期库,它将处理您的格式转换。它扩展了 toString 方法,以便您可以完成以下操作:-
self.currentDate().toString('yyyy-M-d')
有几个选项可以与 Knockout 集成,但上面的选项在返回 yyyy-mm-dd 格式时会“起作用”。
仍然使用 datejs 的另一种方法是将函数包装在 ko.computed 中:-
self.displayDate = ko.computed(function(){
return self.currentDate().toString('yyyy-M-d');
});
如果您不想使用 datejs,您可以自己滚动并将其包装在计算中。
self.displayDate = ko.computed(function(){
var year = self.currentDate().getFullYear().toString();
var month = (self.currentDate().getMonth() + 1).toString();
var day = self.currentDate().getDay().toString();
var pad = "00";
return year + '-' +
pad.substring(0, pad.length, month.length ) + month + '-' +
pad.substring(0, pad.length, day.length ) + day;
});
但说真的,先看看 datejs。为什么要重新发明轮子。在 Sammy 方面真的帮不了你,soz。