使用Javascript获取日期差异 [英] Get Date Diff using Javascript

查看:72
本文介绍了使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆