首页 > 其他分享 >计算开始与结束时间的时长:x天x时x分x秒

计算开始与结束时间的时长:x天x时x分x秒

时间:2023-11-14 18:23:04浏览次数:26  
标签:结束 durationValue int VALUE SECOND static 计算 duration 时长

import java.util.Date;
/**
 @ClassName: DateDurationUtils
 @Description: 时长计算工具类
 @Author: lizg
 @Date: 2023/11/10 14:39
 */
public class DateDurationUtils {
    private static Long DAY_SECOND_VALUE = 24 * 60 * 60 * 1000L;
    private static Long HOUR_SECOND_VALUE = 60  * 60 * 1000L;
    private static Long MINUTE_SECOND_VALUE = 60 * 1000L;
    private static Long SECOND_VALUE = 1000L;
    /**
     时间间隔: 天时分秒
     @param  duration
     @return
     */
    public static String getDuration(Long duration) {
        duration = duration == null ? 0L : duration;
        StringBuilder timeDuration = new StringBuilder();
        String[] durationArray = new String[]{"天", "时", "分", "秒"};
        int[] durationValue = new int[4];
        durationValue[0] = (int) (duration / DAY_SECOND_VALUE);
        durationValue[1] = (int) (duration % DAY_SECOND_VALUE / HOUR_SECOND_VALUE);
        durationValue[2] = (int) (duration % HOUR_SECOND_VALUE / MINUTE_SECOND_VALUE);
        durationValue[3] = (int) (duration % MINUTE_SECOND_VALUE / SECOND_VALUE);
        for (int i = 0; i < durationValue.length; i++) {
            timeDuration.append(durationValue[i] + durationArray[i]);
        }
        return timeDuration.toString();
    }
    /**
     求两个日期的时间间隔:天时分秒
     @param  startTime
     @param  endTime
     @return
     */
    public static String getDuration(Date startTime, Date endTime) {
        if (startTime == null || endTime == null) {
            return null;
        }
        if (startTime.after(endTime)) {
            return null;
        }
        long duration  = endTime.getTime() - startTime.getTime();
        return getDuration(duration);
    }


    public static void main(String[] args) {
        Long dur = 29032 * 1000L;
        System.out.println(getDuration(dur));
    }
}


执行结果:
0天8时3分52秒

  

标签:结束,durationValue,int,VALUE,SECOND,static,计算,duration,时长
From: https://www.cnblogs.com/Small-sunshine/p/17832235.html

相关文章

  • 数据科学和计算密集型任务的10个主题
    以下是数据科学和计算密集型任务中的十个主题:1.数据清洗和预处理:数据科学中的第一步通常是清洗和预处理数据,包括处理缺失值、异常值、重复值和噪声等。2.特征工程:特征工程是从原始数据中提取有用的特征,以供机器学习模型使用。这包括特征选择、特征变换和特征生成等技术。3.......
  • 用python计算圆周率PI
     描述用python计算圆周率PI‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‬‪‬......
  • 人工智能计算大会(AICC 2023)将于11月29日在北京举办
    生成式人工智能和大模型正加速世界向智能化时代迈进,并引发AI计算需求的爆发式增长。智算已经成为驱动智慧世界持续进化的核心引擎,带动生产力与创新力实现跃迁式变革。11月29日,人工智能计算大会(AICC2023)将在北京举办。本届大会以“智算力就是创新力”为主题,由北京市科学技术委员会......
  • 计算机网络实验4
    步骤一:创建虚拟网络拓扑步骤二:为虚拟网络中的各路由器配置静态路由步骤三:关闭网卡步骤四:步骤五:创建一个3500字节长度的文件命名为3500.0步骤六:在主机ns57c上启动wireshark,并在ns57C后台启动Wireshark步骤七:在两个主机上启动tcp服务程序,将主机ns57C上的3500.0文件读......
  • js 计算两个地点坐标之间的间距
    /***计算两个地点坐标之间的间距*@param{array}location1[lon:string,lat:string]地点坐标*@param{array}location2[lon:string,lat:string]地点坐标*/exportfunctioncalculateDistance(location1,location2){ constearthRadius=6371//地球半......
  • k8s中是如何计算pod的计算资源(cpu和内存)的requests和limits值的?
    1、结论 对于pod来说,cpu和内存的requests和limits的值,等于pod中所有容器的requests和limits的值的总和。 具体来说:pod的requests的大小,等于所有的容器的requests的大小的和,如果某个容器没有设置requests,则这个值是0.pod的limits的值的大小,等于所有容器的limits的值的大......
  • 在 WINDOWS 安装 ACTIVE DIRECTORY 用户和计算机管理单元 (ADUC)
     在WINDOWS安装ACTIVEDIRECTORY用户和计算机管理单元(ADUC)安装官方AD域管理工具(ADUsersandComputers)  一、在WindowsServer里安装AD域管理工具:    1.WindowsServer只需要在角色和功能里,安装Active Directory域服务(ADDS){ActiveDirectoryDomain......
  • 进一步优化! 视频优化时长限制从1个小时提升到了1个半小时,解锁更多优质学习视频啦!...
    昨天把YouTube中文配音升级到了1.0.0版本,这次没有继续采用0.x的版本号。主要是由于这次的更新,意味着主体能力的稳定。经过几个月的优化,现在对于视频的优化效率已经很高了,所以在这次的版本更新中,我们将视频配音优化的时长从1小时增加到了1个半小时。这意味着,更多优质的长视频,都可以......
  • 学习计算机的感悟
    随着科技的快速发展,计算机大部分已经普及到我们的生活上,它给我们的生活带来很多的方便,也使一些教育观念改变,让我们的课堂实现多媒体化,而且现在的时代一直在追求创新,科技的进步使我们所受的社会压力也越来越大,因此,我们在学校要好好学习专业知识,提高自己的专业素养和实践能力,学会创新......
  • 秋招结束还没 Offer,是太差劲吗?
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!秋招对于即将毕业的大学生来说是一段重要的求职时期。然而,并不是每个人都能在秋招结束时拿到心仪的Offer。肯定有同学已经感觉很疲惫了,会陷入某种内耗中,或者干脆躺平了。不过......