Java计算两个时间的天数差与月数差 LocalDateTime,如何计算日期差的天数

/**

* 计算两个时间点的天数差

* @param dt1 第一个时间点

* @param dt2 第二个时间点

* @return int,即要计算的天数差

*/

public static int dateDiff(LocalDateTime dt1,LocalDateTime dt2){

//获取第一个时间点的时间戳对应的秒数

long t1 = dt1.toEpochSecond(ZoneOffset.ofHours(0));

//获取第一个时间点在是1970年1月1日后的第几天

long day1 = t1 /(60*60*24);

//获取第二个时间点的时间戳对应的秒数

long t2 = dt2.toEpochSecond(ZoneOffset.ofHours(0));

//获取第二个时间点在是1970年1月1日后的第几天

long day2 = t2/(60*60*24);

//返回两个时间点的天数差

return (int)(day2 - day1);

}

@Test

public void testDay(){

LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01

LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16

System.out.println(dateDiff(of1,of2));//365

}

/**

* 获取两个时间点的月份差

* @param dt1 第一个时间点

* @param dt2 第二个时间点

* @return int,即需求的月数差

*/

public static int monthDiff(LocalDateTime dt1,LocalDateTime dt2){

//获取第一个时间点的月份

int month1 = dt1.getMonthValue();

//获取第一个时间点的年份

int year1 = dt1.getYear();

//获取第一个时间点的月份

int month2 = dt2.getMonthValue();

//获取第一个时间点的年份

int year2 = dt2.getYear();

//返回两个时间点的月数差

return (year2 - year1) *12 + (month2 - month1);

}

@Test

public void testMonth(){

LocalDateTime of1 = LocalDateTime.of(2018, 9, 25, 1, 1);//2018-9-25 01:01

LocalDateTime of2 = LocalDateTime.of(2019, 9, 25, 23, 16); //2019-9-25 23:16

System.out.println(monthDiff(of1,of2));//12

}

相关文章暂无相关文章

java如何计算时间天数差,Java计算两个时间的天数差与月数差 LocalDateTime,如何计算日期差的天数...相关推荐

  1. python时间差转换成天数_Python实现计算两个时间之间相差天数的方法

    本文实例讲述了Python实现计算两个时间之间相差天数的方法.分享给大家供大家参考,具体如下: #-*- encoding:UTF-8 -*- from datetime import date im ...

  2. python的datetime举例_Python datetime库计算两个时间点之间的分钟(秒、天)数

    计算两个时间点之间的分钟数 import datetime def minNums(startTime, endTime): '''计算两个时间点之间的分钟数''' # 处理格式,加上秒位 start ...

  3. java如何计算时间天数差,java计算两个时间相差天数的方法汇总

    问题描述: 输入:两个日期 输出:两个日期相差的天数 具体代码实现 方法1: 通过calendar类的日期比较.注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是 ...

  4. java LocalDateTime 加时间,计算两个时间的差

    LocalDateTime localDateTime = LocalDateTime.now();localDateTime= localDateTime.plusDays(1);//加一天 计算两 ...

  5. java 计算两个时间之间的间隔

    1. 怎样计算两个时间之间的间隔? 间隔=Date1.getTime()-Date2.getTime();得出来的是毫秒数. 除1000是秒,再除60是分,再除60是小时............... ...

  6. Java计算两个时间点的工作日

    在做项目时遇到一个需求,需要计算两个时间点之间的工作日.便于统计项目时间统计. 其中有两个方向: 第一,调用开源的api,"http://api.goseek.cn/Tools/holida ...

  7. java获取时间戳(计算两个时间相差几天几小时几秒,获取当前日期是周几。。。)

    java时间相关 博主所有博客都是验证过的 获取一个时间的时间戳 //获取当前时间戳Calendar cal1 = Calendar.getInstance();cal1.setTime(new Da ...

  8. 使用Java的Calendar类计算两段时间之间的工作日的天/小时/分钟/秒数

    计算两段时间之间的工作日的天/小时/分钟/秒数 我们能经常遇到一些需求,让获取工作日的时间(当然,调休也上班也是工作日哈!),之前自己给这搞得头大,所以整理总结,把该工具类记录下来,希望大家能用到的时 ...

  9. Java计算两个时间的小时差

    /**** 计算两段时间的小时差* @module* @author SJT* @date 2022/12/28* @param startTime* @param endTime* @return: ...

  10. java计算两个时间相差几个月

    //计算两个时间相差几个月public int getMonth(Date start, Date end) {if (start.after(end)) {Date t = start;start ...

最新文章

  1. 如何复位一个流的failbit和eofbit
  2. 给 Flutter 界面切换来点特效
  3. categories php,manage-categories.php
  4. sml完整形式_教资会的完整形式是什么?
  5. python函数后面两个括号_简单了解为什么python函数后有多个括号
  6. Mr.J--树的遍历方式详解
  7. sklearn学习(模块列表)
  8. c计算机怎么读音发音英语,英语怎么发音
  9. 贴片钽电容,P型 A型 B型 C型 D型 E型怎么区分?
  10. eclipse设置背景图片(并非更换主题)
  11. [STL]priority_queue多种方式自定义排序
  12. 日常英语口语900句
  13. 淘宝详情页设计要点有哪些 优秀淘宝详情页面多少屏合适
  14. phalcon蹩脚的面包屑(breadcrumbs)功能
  15. 京东商城系统架构设计原则
  16. 第一个小项目——坦克大战
  17. html 中 a 链接的 download 属性的神奇使用
  18. javaweb总——注:跟着狂神学的
  19. 网络安全:常见的网络协议
  20. 单数复数php单元格背景颜色,PHP-php 如何实现 英语单词 单复数 转换

热门文章

  1. 谷歌浏览器:快速切换搜索引擎
  2. 论文阅读 (九):A survey on instance selection for active learning (2012)
  3. Spring AOP术语:连接点和切点的区别。
  4. ul阻燃标准有几个等级_塑料制品中的UL 阻燃等级防火等级划分标准
  5. 【C语言】百度搜歌(只用歌曲或者歌手名字去搜索实现)
  6. gcf,gca,gco的区别
  7. cocosCreator关闭多点触摸的问题
  8. wincc报表日报表实例_wincc报表例程
  9. 记录解决英文和阿拉伯文混合的字符串,在阿拉伯环境下靠左显示,但需要从右开始显示
  10. 何为抓包?如何抓包?