如何用java代码比较两个日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用java代码比较两个日期相关的知识,希望对你有一定的参考价值。
参考技术A 首先按照一定的格式输入两个日期的字符串
然后用SimpleDateFormat类转换成Date实例date1,
date2
然后
Calendar
cal1
=
Calendar.getInstance();
Calendar
cal2
=
Calendar.getInstance();
cal1.setTime(date1);
cal2.setTime(date2);
这样你就有了两个表示所输入日期的Calendar实例了
Calendar可以做很多事
比如用cal1.after(cal2)或者cal1.before(cal2)或者cal1.equals(cal2)或者cal1.compareTo(cal2)来比较两个日期时间先后
比如cal.get(Calendar.YEAR)可以得到表示该日期年份的整数
同理cal.get(Calendar.MONTH)可以得到月份
甚至可以用cal.getTimeInMillis()得到表示该日期的毫秒数
有了这些方法,简单的计算之后就可以得到需要的相差的信息
如果楼主是来求现成的源代码的-
-
我没有
JS通过一个值与日期比较计算天数
现有一个数据框,输入的是数值如1,2,3....12,即是多少个月,设为Y
还有一个是日期如2010-01-01类型的值,设为R
现要通过R中的月份与Y相加得出一个新的日期,这个日期再与当前日期相比较
,当然要考虑如果输入的日期R为2009-11-01,数值Y为6的情况
请问如何用JS来判断?
<!--
function deal()
//var Y = 6;
//var R ="2009-11-01";
var R = document.getElementById('date').value +'';
var Y = document.getElementById('month').value;
alert(R);
var year=R.substr(0,4);
var month=R.substr(5,2);
var day=R.substr(8,2);
if((parseInt(month)+parseInt(Y)) > 12)
year++;
month = parseInt(month) + parseInt(Y) - 12;
else
month = parseInt(month) + parseInt(Y);
alert(year+"-"+month+"-"+day);
R = new Date(year,month,day,00,00,00);
dateNow = new Date();
var diff = R.getTime() - dateNow.getTime()
var days = Math.floor(diff/(1000*60*60*24));
var str = "与今天相差" + days + "天"
if(R > dateNow)
alert("大于今天!"+"\n"+str);
else
alert("小于今天!"+"\n"+str);
//-->
</SCRIPT>
月<input type="text" id="month" value="6">
日期 <input type="text" id="date" value="2009-11-01">
<input type="button" value="submit" onClick="deal()">
这样的吗 参考技术A 1.把开始时间和结束时间保存
var dateFrom = new Date(strFrom);
var dateTo = new Date(strTo);
2.计算时间差
var diff = dateTo.valueOf() - dateFrom.valueOf();
3.时间差转换为天数
var diff_day = parseInt(diff/(1000*60*60*24)); 参考技术B 根据一楼帮你改的
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body><script>
function deal()
var date = document.getElementById('date').value;
var month = document.getElementById('month').value;
var tmp = date.split('-');
var add = parseInt(month) + parseInt(tmp[1]);
if ( add > 12 )
tmp[0] = parseInt(tmp[0]) + 1;
tmp[1] = add%12;
var time = new Date(tmp[0],tmp[1],1);
var today = new Date();
var diff = time.getTime() - today.getTime()
var days = Math.floor(diff/(1000*60*60*24));
var str = "与今天相差" + days + "天" ;
alert(str);
</script>
月<input type="text" id="month" value="6">
日期 <input type="text" id="date" value="2009-11-1">
<input type="button" value="submit" onClick="deal()">
</body>
</html> 参考技术C 简单写了下,不知道是不是你的意思
<script>
function deal()
var date = document.getElementById('date').value;
var month = document.getElementById('month').value;
var tmp = date.split('-');
var add = parseInt(month) + parseInt(tmp[1]);
if ( add > 12 )
tmp[0] = parseInt(tmp[0]) + 1;
tmp[1] = add%12;
alert(tmp.join('-'));
</script>
月<input type="text" id="month" value="6">
日期 <input type="text" id="date" value="2009-11-1">
<input type="button" value="submit" onClick="deal()">
以上是关于如何用java代码比较两个日期的主要内容,如果未能解决你的问题,请参考以下文章