java 一简单问题。。关于日期的。。 java 如何比较两个日期其中的一个比另一个大3个月也就说怎么比较两个日期大几个月 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SimpleDateFormat sdf = new SimpleDateFormat(); sdf.applyPattern( "yyyy-M-d "); Date d1 = sdf.parse( "2004-12-21 "); Date d2 = sdf.parse( "2004-12-25 "); System.out.println(d1.compareTo(d2)); import java.util.Calendar;import java.util.Date;public class Test { public static void main(String[] args) { Calendar c1 = Calendar.getInstance(); Calendar c2 = Calendar.getInstance(); c1.setTime(new Date()); c2.set(Calendar.YEAR, 2010); c2.set(Calendar.MONTH, 4); c2.set(Calendar.DAY_OF_MONTH, 25); int year1 = c1.get(Calendar.YEAR); int year2 = c2.get(Calendar.YEAR); int month1 = c1.get(Calendar.MONTH); int month2 = c2.get(Calendar.MONTH); int month; if(year1 >= year2) { month = (year1 - year2) * 12 + (month1 - month2); } else { month = (year2 - year1) * 12 + (month2 - month1); } System.out.println(month); }}简单写了一个! compareTo只能比出大小。。如何确定大几个月呢??? 转成日期类型Date,再比较大小 见3楼 import java.util.Calendar;public class Test { /** * @param args */ public static void main(String[] args) { // 创建时间A对象 Calendar dateA = Calendar.getInstance(); dateA.set(2010, 9, 02);// 指定 年 月 日 // 创建时间B对象 Calendar dateB = Calendar.getInstance(); dateB.set(2011, 12, 02); int MonthNum = 0;// 存储月份差 /* * 时间对象.get(int 参数) * Calendar.YEAR 为 Calendar类提供的静态字段--返回 YEAR 在时间格式中的索引 */ // 计算年份差*12个月+月份差 MonthNum = (dateA.get(Calendar.YEAR) - dateB.get(Calendar.YEAR)) * 12 + (dateA.get(Calendar.MONTH) - dateB.get(Calendar.MONTH)); // 打印月份差 System.out.println(MonthNum); }} public static void main(String[] args) throws ParseException { SimpleDateFormat time=new SimpleDateFormat(); time.applyPattern("yyyy-MM-dd"); Date d1 = time.parse( "2004-10-30"); int h=d1.getMonth(); System.out.println(h); Date d2 = time.parse( "2004-12-25 "); int k=d2.getMonth(); System.out.println(h-k); } 转换成String类型,然后用String类型比较大小 //判断月数 int monthCounet = 3; //比较日期1 2010/11/01 Date date1 = new Date("2010/11/01"); //比较日期2 2011/02/02 Date date2 = new Date("2010/02/02"); //比较日期1 Calendar c1 = Calendar.getInstance().setTime(date1); //比较日期2 Calendar c2 = Calendar.getInstance().setTime(date2); //日期1 + 比较月数 c1.add(Calendar.MONTH, monthCounet); //比较日期 int milliseconds = c1.compareTo(c2); //根据milliseconds 来判断日期大小 如果月的间隔数不固定,可以用循环c1逐月递加直到c1 > c2 请教关于Spring集成Hibernate配置声明式事务管理后异常的处理 jquery问题 二进制转中文 displaytag国际化问题,请勿灌水,谢谢合作! FORM表单的问题 小弟写的Cookie,记录来访次数的--可是有问题,,请指点!!! 拼串的问题???在线! 请问tomcat能不能添加多个IP地址形成虚拟主机? Spring配置文件中注入的Action的int型属性获取不到??? 下拉框选中值,刷新页面后,要求下拉框中显示的还是刷新前的那个值 问大家一个JSP很简单的问题。 Struts2 下载问题探讨
sdf.applyPattern( "yyyy-M-d ");
Date d1 = sdf.parse( "2004-12-21 ");
Date d2 = sdf.parse( "2004-12-25 ");
System.out.println(d1.compareTo(d2));
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args) {
Calendar c1 = Calendar.getInstance();
Calendar c2 = Calendar.getInstance();
c1.setTime(new Date());
c2.set(Calendar.YEAR, 2010);
c2.set(Calendar.MONTH, 4);
c2.set(Calendar.DAY_OF_MONTH, 25);
int year1 = c1.get(Calendar.YEAR);
int year2 = c2.get(Calendar.YEAR);
int month1 = c1.get(Calendar.MONTH);
int month2 = c2.get(Calendar.MONTH);
int month;
if(year1 >= year2) {
month = (year1 - year2) * 12 + (month1 - month2);
} else {
month = (year2 - year1) * 12 + (month2 - month1);
}
System.out.println(month);
}
}简单写了一个!
import java.util.Calendar;public class Test { /**
* @param args
*/
public static void main(String[] args) { // 创建时间A对象
Calendar dateA = Calendar.getInstance();
dateA.set(2010, 9, 02);// 指定 年 月 日 // 创建时间B对象
Calendar dateB = Calendar.getInstance();
dateB.set(2011, 12, 02); int MonthNum = 0;// 存储月份差 /*
* 时间对象.get(int 参数)
* Calendar.YEAR 为 Calendar类提供的静态字段--返回 YEAR 在时间格式中的索引
*/ // 计算年份差*12个月+月份差
MonthNum = (dateA.get(Calendar.YEAR) - dateB.get(Calendar.YEAR)) * 12
+ (dateA.get(Calendar.MONTH) - dateB.get(Calendar.MONTH)); // 打印月份差
System.out.println(MonthNum);
}}
{
SimpleDateFormat time=new SimpleDateFormat();
time.applyPattern("yyyy-MM-dd");
Date d1 = time.parse( "2004-10-30");
int h=d1.getMonth();
System.out.println(h);
Date d2 = time.parse( "2004-12-25 ");
int k=d2.getMonth();
System.out.println(h-k);
}
//判断月数
int monthCounet = 3; //比较日期1 2010/11/01
Date date1 = new Date("2010/11/01"); //比较日期2 2011/02/02
Date date2 = new Date("2010/02/02"); //比较日期1
Calendar c1 = Calendar.getInstance().setTime(date1); //比较日期2
Calendar c2 = Calendar.getInstance().setTime(date2); //日期1 + 比较月数
c1.add(Calendar.MONTH, monthCounet);
//比较日期
int milliseconds = c1.compareTo(c2); //根据milliseconds 来判断日期大小
如果月的间隔数不固定,可以用循环c1逐月递加直到c1 > c2