Java比较时间相差几个月
来源:互联网 发布:windows网络编程 视频 编辑:程序博客网 时间:2024/05/20 14:44
Java比较时间相差几个月
今天做项目遇到返回距离当前月份6个月的数据
方案1::java1.8新特性YearMonth的compareto方法
同一年进行比较,如当前是2017年8月,传入参数2017,2,打印:6
但非同一年进行比较,如传入参数2016,2,期望打印:18,但是实际打印为:1
于是继续测试,传入参数2015,2,期望打印:30,但是实际打印为:2
可见YearMonth的compareto方法当是同一年时返回值为相差几月,当非同一年时返回相差几年,并非当前需要的方法。
/** * 利用YearMonth方法compareTo比较两个时间相差几月 * @param year 年 * @param month 月 */ public void testYearMonth(int year, int month) { YearMonth yearMonth = YearMonth.of(year, month); //当前年月 YearMonth yearMonthNow = YearMonth.now(); int difference = yearMonthNow.compareTo(yearMonth); System.out.println(difference); }
/** * 比较时间与当前时间距离几个月 * * @param dateStr 传入时间字符串,格式yyyyMMddHHmmss * @return */ private int compareWithNow(String dateStr) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM"); String afferentYearMonth = DateUtil.getStringSim(dateStr, "yyyyMMddHHmmss", "yyyy-MM"); String nowYearMonth = YearMonth.now().toString(); Calendar afferent = Calendar.getInstance(); Calendar now = Calendar.getInstance(); try { afferent.setTime(sdf.parse(afferentYearMonth)); now.setTime(sdf.parse(nowYearMonth)); } catch (ParseException e) { e.printStackTrace(); } int year = (now.get(Calendar.YEAR) - afferent.get(Calendar.YEAR)) * 12; int month = now.get(Calendar.MONTH) - afferent.get(Calendar.MONTH); return Math.abs(year + month); }
阅读全文
0 0
- Java比较时间相差几个月
- JAVA 得到两日期相差几个月
- Java比较两个时间相差多少天,多少个月,多少年
- Java比较两个时间相差多少天,多少个月,多少年
- Java比较两个时间相差多少天,多少个月,多少年
- JS JQUERY获取两个时间相差几个月
- java 计算两个日期相差了几个月
- java 计算两个日期相差了几个月
- java 获取日期相差天数 月数 获得服务器时间
- c#如何计算两个日期相差几年几个月?C#日期间隔 c#时间间隔
- JAVA 比较两个日期相差
- java实现计算两个日期相差多少月、比较两个日期大小 等常用日期操作
- java实现计算两个日期相差多少月、比较两个日期大小 等常用日期操作
- java计算2个时间相差多少年,多少个月,多少天
- java用Calendar 计算2个时间相差 年\月\天 .
- 【Java】获取2个日历类型的时间相差多少年、月、天、小时、分钟、秒
- JAVA Date 时间与时间相差计算
- 求两个日期之间相差几个月零几天
- App工程从Eclipse迁移到Android Studio的问题总结
- 关于两个不知缘由的常见问题的一种解决方法
- 02.jsdate和Math函数
- 50. Pow(x, n)
- Wolf从零学编程-用Python打造简单加密程序(四)
- Java比较时间相差几个月
- Java基础-1、基础语法
- java Excel导入
- Java语言对象池(Object pool)设计模式实例
- POJ 2886 Who Gets the Most Candies?
- 有千位分隔符的数字动画加载效果
- [FreeBSD] 手动分区并恢复数据
- .net Core 启动域名及端口配置
- 03.js数据类型之间的转换与运算