[英]How to get rid off age in days error in JavaScript. getting same age difference for two continue dates of different months
[英]Get difference in days of two different dates in same ASPxDateEdit Control with javascript
我有一个使用此代码的ASPxDateEdit
控件:
<dx:ASPxDateEdit ID="dtPayDate" ClientInstanceName="dateEdit" EditFormatString="yyyy-MM-dd" DisplayFormatString="yyyy-MM-dd" runat="server" EnableClientSideAPI="true" CssClass="form-control">
<ClientSideEvents Init="FirstDate()" LostFocus="ChangeDate()" />
还有两个事件:
var InititalPay;
var FinalPay;
function FirstDate(s, e) {
var date = s.GetDate();
var dd = date.getDate();
var mm = date.getMonth();
var yy = date.getFullYear();
InitialPay = new Date(yy + ',' + mm + ',' + dd);
}
function ChangeDate() {
var jsDate = dateEdit.GetDate();
var year = jsDate.getFullYear(); // where getFullYear returns the year (four digits)
var month = jsDate.getMonth(); // where getMonth returns the month (from 0-11)
var day = jsDate.getDate(); // where getDate returns the day of the month (from 1-31)
FinalPay = new Date(year + ',' + month + ',' + day);
var a = moment([FinalPay]);
var b = moment([InitialPay]);
days = a.diff(b, 'days') // diferencia en dias
alert(days)
}
我需要获取更改之前的日期并将其存储在var中。 接下来获取更改的日期并将其存储到其他变量中。 得到两个日期的差。 我也正在使用moment.js
但是如果存在其他方法,我可以使用它。
您需要使用GotFocus
事件而不是Init
:
<dx:ASPxDateEdit ID="dtPayDate" ClientInstanceName="dateEdit" EditFormatString="yyyy-MM-dd" DisplayFormatString="yyyy-MM-dd" runat="server" EnableClientSideAPI="true" CssClass="form-control">
<ClientSideEvents GotFocus="FirstDate" LostFocus="ChangeDate"/>
</dx:ASPxDateEdit>
您也可以使用简单的阿米巴酸法找到两个日期之间的差异。
这是示例:
var InitialDate;
var FinalDate;
function FirstDate(s, e) {
InitialDate = s.GetDate();
}
function ChangeDate(s, e) {
FinalDate = s.GetDate();
if (!!InitialDate && !!FinalDate)
{
days = (FinalDate - InitialDate) / (1000 * 60 * 60 * 24);
alert(days);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.