使用Javascript获取日期差异 [英] Get Date Diff using Javascript
本文介绍了使用Javascript获取日期差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嗨亲爱的朋友。
我有使用此代码。
function ddiff(){
var txtfromdate = document.getElementById(' <%= txtFromDate.ClientID%>')。 value ;
var txttodate = document.getElementById(' <%= txtToDate.ClientID%>')。 value ;
var oneDay = 1000 * 60 * 60 * 24 ; // 转换为millisec
var firstDate = new 日期(a);
var secondDate = new 日期(b);
var noOfDays = Math.ceil((secondDate.getTime() - firstDate.getTime())/ oneDay);
document.getElementById(' <%= txtLeaveRequired.ClientID%>')。 value = noOfDays;
}
查找日期差异。在文本框中,但没有正确的Anwser。
对于Eg.1:-txtFromDate: - 2013年3月25日
2:-txtToDate : - 2013年3月26日。
获得31天......但是真正的答案1天..
如此快速帮助我。 。
解决方案
Hello Achal,
新的Date(dateString)构造函数接受表示RFC2822的字符串或ISO 8601日期。因此,请确保值a& b的格式有效。在你的情况下,格式似乎是dd / mm / yyyy,根据规则,它应该是mm / dd / yyyy,因此你得到的差异为31天。您提供的日期值将转换为2015年1月3日& 2015年2月3日(年/月/年格式)。
这是一个样本
< !DOCTYPE html >
< html >
< head >
< < span class =code-leadattribute> script type = text / javascript >
function dateDiff(){
var dtFrom = document .getElementById(' txtFromDate')。value;
var dtTo = document .getElementById(' txtToDate')。value;
var dt1 = new 日期跨度>(dtFrom);
var dt2 = new 日期(dtTo);
var diff = dt2.getTime() - dt1.getTime();
var 天= diff /( 1000 * 60 * 60 * 24 );
alert(dt1 + , + dt2);
alert(天);
return false ;
}
function isNumeric(val){
var ret = parseInt (val);
}
< / 脚本 >
< / head >
< body >
< 表单 id = frmMain name < span class =code-keyword> = frmMain 方法 = POST >
< label = txtFromDate > 从日期开始:< /标签 >
< 输入 类型 = text id = txtFromDate 名称 = txtFromDate size = 10 maxlength = 10 value = 03/25/2013 / > < br / >
< label = txtToDate > To Date:< < SP class =code-leadattribute> / label >
< 输入 type = text id = txtToDate name = txtDate < span class =code-attribute> size = 10 maxlength = 10 value = 03/26/2013 / > < br / >
< 按钮 id = btnCheck name = btnCheck onClick = dateDiff(); type = 按钮 > 差异< /按钮 >
< / form >
< / body >
< / html >
问候,
Hi Dear Friend.
I have Use this Code.
function ddiff() {
var txtfromdate = document.getElementById('<%=txtFromDate.ClientID %>').value;
var txttodate = document.getElementById('<%=txtToDate.ClientID %>').value;
var oneDay = 1000 * 60 * 60 * 24; //Convert into millisec
var firstDate = new Date(a);
var secondDate = new Date(b);
var noOfDays = Math.ceil((secondDate.getTime() - firstDate.getTime()) / oneDay);
document.getElementById('<%=txtLeaveRequired.ClientID %>').value = noOfDays;
}
Find date Diff. in text box but not proper Anwser.
For Eg.1:-txtFromDate :- 25/3/2013
2:-txtToDate:- 26/3/2013.
And Get 31 Day..but true Ans 1 Day..
So fast help me..
解决方案
Hello Achal,
The new Date(dateString) constructor accepts string representing an RFC2822 or ISO 8601 date. So make sure that values a & b are in a valid format. In your case the format seems to be dd/mm/yyyy, where as according to the rules it should be mm/dd/yyyy and hence you are getting the difference as 31 days. The date values you have given will get converted as Jan 3, 2015 & Feb 3, 2015 respectively (dd/mm/yyyy format).
Here is a sample
<!DOCTYPE html> <html> <head> <script type="text/javascript"> function dateDiff() { var dtFrom = document.getElementById('txtFromDate').value; var dtTo = document.getElementById('txtToDate').value; var dt1 = new Date(dtFrom); var dt2 = new Date(dtTo); var diff = dt2.getTime() - dt1.getTime(); var days = diff/(1000 * 60 * 60 * 24); alert(dt1 + ", " + dt2); alert(days); return false; } function isNumeric(val) { var ret = parseInt(val); } </script> </head> <body> <form id="frmMain" name="frmMain" method="POST"> <label for="txtFromDate">From Date : </label> <input type="text" id="txtFromDate" name="txtFromDate" size="10" maxlength="10" value="03/25/2013"/><br/> <label for="txtToDate">To Date : </label> <input type="text" id="txtToDate" name="txtDate" size="10" maxlength="10" value="03/26/2013"/><br/> <button id="btnCheck" name="btnCheck" onClick="dateDiff();" type="button">Difference</button> </form> </body> </html>
Regards,
这篇关于使用Javascript获取日期差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文