[英]calculate the difference between two dates
I trying to calculate the difference between two dates, I wrote java script function and it works fine but the problem is that it deals with days as month and vise versa. 我试图计算两个日期之间的时差,我编写了Java脚本函数,它可以正常工作,但问题是它处理的日期是月份,反之亦然。
for example: if the first date is 2/7/2013 and the second date is 3/7/2013 it gives me the result 30 days instead of 1 day. 例如:如果第一个日期是2013年7月7日,第二个日期是2013年7月7日,则结果为30天而不是1天。
here is my code: 这是我的代码:
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery- ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script>
$(function() {
$( "#from" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#to" ).datepicker( "option", "minDate", selectedDate );
}});
$( "#to" ).datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
onClose: function( selectedDate ) {
$( "#from" ).datepicker( "option", "maxDate", selectedDate );
}
});
});
</script>
<form method="post" action="" name="date">
<label for="from"> Start Date : </label>
<input type="text" id="from" name="start" />
<br/>
<label for="to"> End Date : </label>
<input type="text" id="to" name="end"/>
<br/>
<input type="submit" name="Submit" value="reserve" onclick="setDifference(this.form);"/></p>
<input type="hidden" name="result" />
</form>
<script type="text/javascript">
function setDifference(frm) {
var dtElem1 = frm.elements['start'];
var dtElem2 = frm.elements['end'];
var resultElem = frm.elements['result'];
if(!dtElem1 || !dtElem2 || !resultElem) {
return;
}
var x = dtElem1.value;
var y = dtElem2.value;
var arr1 = x.split('/');
var arr2 = y.split('/');
var dt1 = new Date();
dt1.setFullYear(arr1[2], arr1[1], arr1[0]);
var dt2 = new Date();
dt2.setFullYear(arr2[2], arr2[1], arr2[0]);
resultElem.value = (dt2.getTime() - dt1.getTime()) / (60 * 60 * 24 * 1000);
}
</script>
<?php
$from= $_POST['start'];
$to= $_POST['end'];
$result = $_POST['result'];
?>
Check In Date : <?php echo $from; ?></label><br />
Check Out Date : <?php echo $to; ?></label><br />
Number Of days: <?php echo $result; ?></label><br />
<BR/>
mm/dd/yyyy not dd/mm/yyyy mm / dd / yyyy不是dd / mm / yyyy
var dt1 = new Date();
dt1.setFullYear(arr1[1], arr1[2], arr1[0]);
var dt2 = new Date();
dt2.setFullYear(arr2[1], arr2[2], arr2[0]);
resultElem.value = (dt2.getTime() - dt1.getTime()) / (60 * 60 * 24 * 1000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.