如何对比两个日期大小? Date的after()函数,如果在之后返回true,否则返回false. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用SimpleDateFormat将字符串转化成日期型,再转化成Calendar,用compareTo比较. String startDate = "2003-10-12";String endDate = "2004-10-12"; SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");Date a = dateFormat.parse(startDate); Date b = dateFormat.parse(endDate);if (a.getTime()-b.getTime()>0) System.out.println("startDate 大于 endDate");else System.out.println("startDate 小于 endDate"); totodo的方法功能最强大,可以比较相差的天数 String startDate = "2003-10-12";String endDate = "2004-10-12";如果你的日期格式比较规范,而你又只是想比较日期的先后你不访直接把它们当做普通的字符串来比较 如果格式允许,用string来比较最简单 哟,支持直接String比较!会很简单! Date类直接提供after和before函数想要相差的天数就用Calendar类 转换成标准格式数字字符串比较或者采用专程成毫秒比较或者采用API里面的方法比较 private int getPeriod(String begin, String end){ int[] anResult = new int[2] ; java.util.Date oBegin = ( new SimpleDateFormat("yyyyMMdd") ).parse(begin, new ParsePosition(0)) ; java.util.Date oEnd = ( new SimpleDateFormat("yyyyMMdd") ).parse(end, new ParsePosition(0)) ; long periodMilli = oEnd.getTime() - oBegin.getTime() ; int period = (new Long(periodMilli / (1000 * 3600 * 24))).intValue() ; return period ;} 求解答,继承方面的面试题 删除不了的 JAVA问题 关于守护线程的问题(来源于scjp) JDBC连SQL是不是SQL的补丁要4的啊? java中如何输入Date? 在jbuilder7中加断点的问题 这个东西搞了我三天,关于applet的。 新到一家公司,却无法学习java,该怎么办? 我的一个简单FTP服务程序,但有个地方不知怎么处理,请高手赐教,100分!! 大家帮帮忙!tomcat5的问题,高分相送 如何设置Java中table的列宽!(紧急求救)
String endDate = "2004-10-12";
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd");
Date a = dateFormat.parse(startDate);
Date b = dateFormat.parse(endDate);if (a.getTime()-b.getTime()>0)
System.out.println("startDate 大于 endDate");
else
System.out.println("startDate 小于 endDate");
String endDate = "2004-10-12";
如果你的日期格式比较规范,而你又只是想比较日期的先后
你不访直接把它们当做普通的字符串来比较
会很简单!
想要相差的天数就用Calendar类
或者
采用专程成毫秒比较
或者
采用API里面的方法比较
{
int[] anResult = new int[2] ;
java.util.Date oBegin = ( new SimpleDateFormat("yyyyMMdd") ).parse(begin, new ParsePosition(0)) ;
java.util.Date oEnd = ( new SimpleDateFormat("yyyyMMdd") ).parse(end, new ParsePosition(0)) ;
long periodMilli = oEnd.getTime() - oBegin.getTime() ;
int period = (new Long(periodMilli / (1000 * 3600 * 24))).intValue() ;
return period ;
}