专栏首页学习分享-实践为王Java计算两个时间差消耗的时间
原创

Java计算两个时间差消耗的时间

/**

* 计算消耗的时间

*

* @param verifyTime 处理的时间

* @return 已消耗的时间

* @throws Exception

*/

private String calDayNumbers(Date verifyTime) throws Exception {

Tools.log("处理时间是:" + verifyTime );

StringBuilder builder = new StringBuilder(DateUtils.toString(verifyTime, "yyyy-MM-dd") + ":已耗时");

Integer year = 0;

Integer month = 0;

Integer day = 0;

//1、当前天数大于对应时间天数时

if (DateUtils.getDate() >= DateUtils.getDate(verifyTime)) {

day = DateUtils.getDate() - DateUtils.getDate(verifyTime);

if (DateUtils.getMonth() >= DateUtils.getMonth(verifyTime)) {

month = DateUtils.getMonth() - DateUtils.getMonth(verifyTime);

year = DateUtils.getYear() - DateUtils.getYear(verifyTime);

} else if (DateUtils.getYear() > DateUtils.getYear(verifyTime)) {

month = DateUtils.getMonth() - DateUtils.getMonth(verifyTime) + 12;

year = DateUtils.getYear() - DateUtils.getYear(verifyTime) - 1;

}

//2、当前月份大于对应时间月份,并小于等于对应时间天数时

} else if (DateUtils.getMonth() > DateUtils.getMonth(verifyTime)) {

Integer resultDays = calDayNumbersByMonth(DateUtils.getYear(), DateUtils.getMonth() + 1);

day = (DateUtils.getDate() + resultDays) - DateUtils.getDate(verifyTime);

month = DateUtils.getMonth() - DateUtils.getMonth(verifyTime) - 1;

year = DateUtils.getYear() - DateUtils.getYear(verifyTime);

//3、当前年份大于对应时间年份,并小于等于对应时间月份和小于等于对应时间天数时

} else if (DateUtils.getYear() > DateUtils.getYear(verifyTime)) {

//取这一年最后一个月的天数

Integer resultDays = calDayNumbersByMonth(DateUtils.getYear(), DateUtils.getMonth() + 1);

day = (DateUtils.getDate() + resultDays) - DateUtils.getDate(verifyTime);

month = DateUtils.getMonth() - DateUtils.getMonth(verifyTime) - 1 + 12;

year = DateUtils.getYear() - DateUtils.getYear(verifyTime) - 1;

}

Tools.log("年:" + year + "月:" + month + "日:" + day);

if (year != 0) {

builder.append(year);

builder.append("年");

}

if (month != 0) {

builder.append(month);

builder.append("月");

}

if (day != 0) {

builder.append(day);

builder.append("天");

}

return builder.toString();

}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

关注作者,阅读全部精彩内容

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql计算两个时间字段的时间差

    TIMESTAMPDIFF(datepart,startdate,enddate)

    赵哥窟
  • javascript计算两个时间差

      其实,javascript计算时间差的方式非常简单,如果是默认的Date()类型,直接相减就是相差的毫秒数。

    ydymz
  • SQL---计算两个日期之间的时间差

    在进行日期处理的时候,有时会需要计算一下两个日期之间相差几年零几个月,这里记录一下,如何用mysql数据库和java结合,准确的拿到两个日期之间的时间差。

    IT云清
  • MySql 计算两个日期的时间差函数

    返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差。其结果的 单位由interval 参数给出。inte...

    一个会写诗的程序员
  • JavaScript 的时间消耗

    随着我们的网站越来越依赖 JavaScript, 我们有时会(无意)用一些不易追踪的方式来传输一些(耗时的)东西. 在这篇文章中, 我会介绍一些能让你的网站在移...

    xiangzhihong
  • python 时间差的计算

    py3study
  • PGSQL计算时间差

    java攻城狮
  • python 计算时间差

    其本上常用的类有:datetime和timedelta两个。它们之间可以相互加减。每个类都有一些方法和属性可以查看具体的值,如datetime可以查看:天数(d...

    py3study
  • python 时间差计算

    py3study
  • 计算时间差,时间加减运算python代码

    Q:如何方便的计算两个时间的差,如两个时间相差几天,几小时等 A:使用datetime模块可以很方便的解决这个问题,举例如下:

    聚名12255
  • 【Linux】Shell 时间运算以及时间差计算方法!

    最近一段时间,在处理Shell 脚本时候,遇到时间的处理问题。时间的加减,以及时间差的计算。

    zenRRan
  • Oracle计算时间差函数

    1、months_between(date1,date2)  返回两个日期之间的月份的差值 (1)、如果两个日期月份内天数相同,或者都是某个月的最后一天,返回一...

    郑小超.
  • 在oracle中计算时间差

     计算时间差是oracle data数据类型的一个常见问题。oracle支持日期计算,你可以创建诸如“日期1-日期2”这样的表达式来计算这两个日期之间的时间差。...

    cloudskyme
  • Mysql-时间差计算(分钟)

    强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

    Java架构师必看
  • Java8计算日期时间差

    ChronoUnit类可用于在单个时间单位内测量一段时间,例如天数或秒。 以下是使用between()方法来查找两个日期之间的区别的示例。

    JavaEdge
  • Android进阶之使用时间戳计算时间差

    本文实例为大家分享了Android使用时间戳计算时间差的具体代码,供大家参考,具体内容如下

    砸漏
  • 机房收费系统——用DateDiff函数计算两个日期之间的时间差

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

    DannyHoo
  • Java8中计算日期时间差

    主要通过Period类方法getYears(),getMonths() 和 getDays()来计算.

    Java那些事儿
  • c++11:计算时间差(毫秒)

    C++11下计算时间差(毫秒)要用到chrono时间库,以下是示例代码,我从en.cppreference.com上抄来改的.

    用户1148648

扫码关注云+社区

领取腾讯云代金券