【无标题】

文章提供了一种将毫秒数或两个日期之间的差值转换为天、小时、分钟和秒的格式的方法。通过将时间转换为总秒数,然后重新计算各个时间单位,可以方便地进行时间段计算。示例代码包括将毫秒转换为天小时分秒的函数以及计算两个Date对象之间的时间差。
摘要由CSDN通过智能技术生成

将毫秒数或两个日期类型数转换为小时秒的方法,在进行时间段计算时应该经常用到。

  记得有一道ACM题就是从一个计时方法A转换为另一个计时方法B,思路如下:总时间不会变,1s就是1s,只不过小时、分钟、天等包含的秒数不一样,所以先把A转换为总秒数sumSec,然后用sumSec得出B下的时间;很简单吧,我们协会没人想出来,我一直哦在思考原因,是不是因为学习学的没了创造性。

  关于格式化Date类型的问题不在本文讨论范围之内,请读者自行查阅。
/**
     *
     * @param 要转换的毫秒数
     * @return 该毫秒数转换为 * days * hours * minutes * seconds 后的格式
     * @author fy.zhang
     */
    public  static  String formatDuring( long  mss) {
        long  days = mss / ( 1000  *  60  *  60  *  24 );
        long  hours = (mss % ( 1000  *  60  *  60  *  24 )) / ( 1000  *  60  *  60 );
        long  minutes = (mss % ( 1000  *  60  *  60 )) / ( 1000  *  60 );
        long  seconds = (mss % ( 1000  *  60 )) /  1000 ;
        return  days +  " days "  + hours +  " hours "  + minutes +  " minutes "
                + seconds +  " seconds " ;
    }
    /**
     *
     * @param begin 时间段的开始
     * @param end   时间段的结束
     * @return  输入的两个Date类型数据之间的时间间格用* days * hours * minutes * seconds的格式展示
     * @author fy.zhang
     */
    public  static  String formatDuring(Date begin, Date end) {
        return  formatDuring(end.getTime() - begin.getTime());
    }
    
    ```

   public static void main(String[] args) throws Exception{
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
       String date1 = "2001-01-01 08:12:01";
       String date2 = "2001-01-01 08:11:06";
//        Date d1 = new Date();
       Date d1 = sdf.parse(date1);;
       Date d2 = sdf.parse(date2);
       long time = (d1.getTime()-d2.getTime())/1000;
       long time1 = (d1.getTime()-d2.getTime()) / ( 1000  *  60  *  60  *  24 );
       System.out.println(new Date());
       System.out.println("时间差:" + time);
       System.out.println("时间差:" + time1);

   }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值