如何用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来判断?

<SCRIPT LANGUAGE="JavaScript">
<!--
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代码比较两个日期的主要内容,如果未能解决你的问题,请参考以下文章

如何用java比较两个时间或日期的大小

请问如何用javascript判断比较两个文本框输入的日期值大小(在JSP文件中)

如何用java实现模糊查询

java怎么比较两个日期(年和月)的大小

如何用maven将java8写的代码编译为java6平台的

用JavaScript编写计算日期