Backbonejs 中两个日期选择器的区别
Difference between two datepicker in Backbonejs
谁能告诉我如何区分 backbonejs 中的两个日期选择器?
在我看来,我试图让它成为那样,但它会提醒 NAN:
initialize: function () {
this.model.on("change:auprov",function(){
var datedeb = new Date(this.model.get("auprov"));
var dateret = new Date(this.model.get("deprov"));
var diff_ms = dateret.getTime() - datedeb.getTime();
alert(diff_ms/1000/60/60/24);
//this.model.set({"dureeprov": '5'});
},this);
},
这是我模型的一部分:
deprov:{
type: "DatePicker",
title: "De (Prov.)",
fieldAttrs:{
className:'col-sm-2 deprov'
},
validators: ["required"]
},
auprov:{
type: "DatePicker",
title: "Au (Prov.)",
fieldAttrs:{
className:'col-sm-2 auprov'
},
validators: ["required"]
},
此致
直到我不能确定this.model.get("auprov")
和this.model.get("deprov")
的内容和类型我只能假设这些是数字。 Javascript 有时将数字作为字符串处理。因此,要更正它,请使用 parseInt
将字符串转换为数字。
var datedeb = new Date(parseInt(this.model.get("auprov")));
var dateret = new Date(parseInt(this.model.get("deprov")));
抱歉,我使用的是法语日期选择器形式,所以我不得不将其更改为英语形式,这里是正确的代码:
this.model.on("change:auprov",function(){
var myDateArrayRet = this.model.get("auprov").split("/");
var dateret = new Date(myDateArrayRet[2],myDateArrayRet[1]-1,myDateArrayRet[0]);
var myDateArray = this.model.get("deprov").split("/");
var datedeb = new Date(myDateArray[2],myDateArray[1]-1,myDateArray[0]);
var diff_ms = dateret.getTime() - datedeb.getTime();
alert(Math.ceil(diff_ms / (1000 * 3600 * 24)));
},this);
谁能告诉我如何区分 backbonejs 中的两个日期选择器? 在我看来,我试图让它成为那样,但它会提醒 NAN:
initialize: function () {
this.model.on("change:auprov",function(){
var datedeb = new Date(this.model.get("auprov"));
var dateret = new Date(this.model.get("deprov"));
var diff_ms = dateret.getTime() - datedeb.getTime();
alert(diff_ms/1000/60/60/24);
//this.model.set({"dureeprov": '5'});
},this);
},
这是我模型的一部分:
deprov:{
type: "DatePicker",
title: "De (Prov.)",
fieldAttrs:{
className:'col-sm-2 deprov'
},
validators: ["required"]
},
auprov:{
type: "DatePicker",
title: "Au (Prov.)",
fieldAttrs:{
className:'col-sm-2 auprov'
},
validators: ["required"]
},
此致
直到我不能确定this.model.get("auprov")
和this.model.get("deprov")
的内容和类型我只能假设这些是数字。 Javascript 有时将数字作为字符串处理。因此,要更正它,请使用 parseInt
将字符串转换为数字。
var datedeb = new Date(parseInt(this.model.get("auprov")));
var dateret = new Date(parseInt(this.model.get("deprov")));
抱歉,我使用的是法语日期选择器形式,所以我不得不将其更改为英语形式,这里是正确的代码:
this.model.on("change:auprov",function(){
var myDateArrayRet = this.model.get("auprov").split("/");
var dateret = new Date(myDateArrayRet[2],myDateArrayRet[1]-1,myDateArrayRet[0]);
var myDateArray = this.model.get("deprov").split("/");
var datedeb = new Date(myDateArray[2],myDateArray[1]-1,myDateArray[0]);
var diff_ms = dateret.getTime() - datedeb.getTime();
alert(Math.ceil(diff_ms / (1000 * 3600 * 24)));
},this);