如何计算两个时间相差多少周年
2017-04-12 23:01
399 查看
1.通过字符串生成日历实体;
2.通过日历实体获取年月日,然后做比较
public static Calendar getCalendarFromString(String dateStr, String dateFormatType) { SimpleDateFormat sdf = new SimpleDateFormat(dateFormatType); Calendar calendar = null; try { Date date = sdf.parse(dateStr); calendar = Calendar.getInstance(); calendar.setTime(date); } catch (ParseException e) { e.printStackTrace(); } return calendar; }
2.通过日历实体获取年月日,然后做比较
/** * 获取年份间隔,匹配到日,可以进一步扩展到时分秒 * * @param startDate 开始时间 * @param endDate 结束事件 * @return 间隔年份 */ public static int getYearSpace(String startDate, String endDate) { String dateType = "yyyy-MM-dd "; Calendar calendar1 = DateUtil.getCalendarFromString(startDate, dateType); Calendar calendar2 = DateUtil.getCalendarFromString(endDate, dateType); if (calendar1 == null || calendar2 == null) { return 0; } if (calendar1.getTimeInMillis() > calendar2.getTimeInMillis()) { Calendar calendar = calendar1;//修正开始时间大于结束时间 calendar1 = calendar2; calendar2 = calendar; } int year1 = calendar1.get(Calendar.YEAR); int month1 = calendar1.get(Calendar.MONTH) + 1; int date1 = calendar1.get(Calendar.DATE); int year2 = calendar2.get(Calendar.YEAR); int month2 = calendar2.get(Calendar.MONTH) + 1; int date2 = calendar2.get(Calendar.DATE); int years = year2 - year1; if (year1 != year2) { if (month1 != month2) { if (month1 > month2) { years = years - 1;//修正如:2016-8到2017-4 未满一年 } } else { if (date1 != date2) { if (date1 > date2) { years = years - 1; //修正如:2016-8-18到2017-8-10 未满一年 } } } } return years; }
相关文章推荐
- 计算两个时间相差多少年月日的sql算法
- db2 怎么计算两个时间相差多少个月。如2015-10-10 和2014-1-12
- 计算两个时间之间相差了多少时间
- php如何计算两个时间戳之间相差的日时分秒
- c#如何计算两个日期相差几年几个月?C#日期间隔 c#时间间隔
- javascript 精准计算两个时间间相差多少年月日时分秒
- JAVA中计算两个时间相差多少 天,时,分,秒
- 两个字符串形式的时间计算相差多少
- 计算两个时间 相差多少时分秒
- oracle 计算两个时间之间的月份差,相差几个星期,相差多少天
- 计算格式为YYYY-MM-DD HH:ii:ss的两个时间,相差多少年、多少月、多少日、多少小时、多少分钟、多少秒?
- php如何计算两个时间戳之间相差的日时分秒
- datetime类型如何计算相差的时间?
- C#中怎么计算两时间相差多少
- Delphi TDateTime类,如何计算两个时间的差?
- 计算两个时间相距离多少
- 用php计算两个日期相差多少
- java计算两个时间相差(天、小时、分钟、秒)
- 根据指定两个日期计算出这些时间内有多少天是周末 php程序函数代码
- JAVA 时间差距,两个时间相差多少天,时,分,秒