• 两个时间计算【十分秒】


    两个时间计算【十分秒】

    1. 用于计算接口的执行时长
    package com.chinalife.maced_bdsdk;
    
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    public class HaoShiDemo {
        public static void main(String[] args) throws ParseException, InterruptedException {
    
            Date start = new Date();
            Thread.sleep(1000);
            Date end = new Date();
    
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
            String start1 = df.format(start);
            String end2 = df.format(end);
    
            System.out.println("HaoShi--->:" + "Group:" + MainDate(end2, start1));
        }
    
        public static String MainDate(String StartDate, String EndDate) throws ParseException {
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    
            Date currentTime = df.parse(StartDate);   //当前系统时间
            Date firstTime = df.parse(EndDate);     //查询的数据时间
            String str = getTime(currentTime, firstTime);
    //        System.out.println("获取的年月日时分秒时间差为:" + str);
            return str;
        }
    
        //获取时间差方法
        public static String getTime(Date currentTime, Date firstTime) {
            long diff = currentTime.getTime() - firstTime.getTime();//这样得到的差值是微秒级别
            Calendar currentTimes = dataToCalendar(currentTime);//当前系统时间转Calendar类型
            Calendar firstTimes = dataToCalendar(firstTime);//查询的数据时间转Calendar类型
            int year = currentTimes.get(Calendar.YEAR) - firstTimes.get(Calendar.YEAR);//获取年
            int month = currentTimes.get(Calendar.MONTH) - firstTimes.get(Calendar.MONTH);
            int day = currentTimes.get(Calendar.DAY_OF_MONTH) - firstTimes.get(Calendar.DAY_OF_MONTH);
            if (day < 0) {
                month -= 1;
                currentTimes.add(Calendar.MONTH, -1);
                day = day + currentTimes.getActualMaximum(Calendar.DAY_OF_MONTH);//获取日
            }
            if (month < 0) {
                month = (month + 12) % 12;//获取月
                year--;
            }
            long days = diff / (1000 * 60 * 60 * 24);
            long hours = (diff - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60); //获取时
            long minutes = (diff - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);  //获取分钟
            long s = (diff / 1000 - days * 24 * 60 * 60 - hours * 60 * 60 - minutes * 60);//获取秒
            String CountTime = "" + year + "年" + month + "月" + day + "天" + hours + "小时" + minutes + "分" + s + "秒";
            return CountTime;
        }
    
        //Date类型转Calendar类型
        public static Calendar dataToCalendar(Date date) {
            Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            return calendar;
        }
    }
    
  • 相关阅读:
    EasyUI 常用图标
    DataGridView滚动条联动
    FTP下载工具
    C# 解析带命名空间的xml
    1.基于3.x版本vue脚手架创建新项目
    js处理异步的几种方式
    JS字符串常用方法
    git(开源的分布式版本控制系统)
    js检查数据类型的方法
    数组的常用方法
  • 原文地址:https://www.cnblogs.com/Twittery/p/14331646.html
Copyright © 2020-2023  润新知