• 计算两个时间相隔多少时间段的类,可以直接拿来用哦!


    计算两个时间相隔多少时间段的类,可以直接拿来用哦!
    package com.wang.util;

    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    /**
     * 
    * 项目名称:network01  
    * 类名称:CalTimeUtil  
    * 类描述:求持续时间  
    * 创建人:王少帅  
    * 创建时间:2013-11-28 下午08:53:39       
    * @version
     */

    public class CalTimeUtil {
        /**
         * 
        * timeGap(求pcap生成的持续时间)  
        * @param name
        * @return String 
        * @Exception
         */

        public String timeGap(String time01, String time02) {

              String []ti01 = time01.split(" ");
              String []ti02 = time02.split(" ");
              String time1 = ti01[0];
              String time2 = ti02[0];
              String hh01 = ti01[1];
              String mm01 = ti02[1];
              
              String hh = hh01.substring(0, 8);
              String mm = mm01.substring(0, 8);

              
              String min_h = hh01.substring(9);
              String min_m = mm01.substring(9);
              //得到迷你时间戳
              String min_time = (Integer.parseInt(min_m)-Integer.parseInt(min_h))+"";
              
    //          System.out.println(time1+"***"+hh);
              
    //          String time1="2007-10-11";
    //          String time2="2007-10-09 ";
    //          String hh="09:00:10";
    //          String mm="10:00:00";
              
              int time=0;//相差毫秒数
              int i=0;   //天
              int s=0;//秒
                  try{
                   //将字符串转相应格式的时间类型
                   DateFormat f = new SimpleDateFormat("yy-MM-dd");
                   DateFormat t = new SimpleDateFormat("hh:mm:ss");

                   Date h= new Date();
                   Date m= new Date();
                   Date d1 = new Date();
                   Date d2 = new Date();
                   //日期
                   d1 = f.parse(time1);
                   d2 = f.parse(time2);
                  
                   //调日期相减得到天数
                         i=diffDate(d1,d2);

                      try {
                //时间
                h = t.parse(hh);
                m = t.parse(mm);
                //看一下前一天的时间是否比后一天的时间小
                if(h.getTime()<m.getTime())
                {
                 //如果成立,哪么天数相应去一天
                 i-=1;
                 time=(int)((h.getTime()+86500000 - m.getTime()) / (1000));//得到相差多少毫秒
                 
                }else
                {
                 time=(int)((h.getTime() - m.getTime()) / (1000));//得到相差多少毫秒
                }
                
                
               } catch (ParseException e) {
                // TODO 自动生成 catch 块
                e.printStackTrace();
               }
               
               
              //System.out.println("cccc:"+time%60);
              //根据不同的时间,做出相应的处理=====具体是什么原因我也没有弄明白
              //以下是处理秒的代码,暂时注释掉
              //if(time%60==0)
              //{
               //s=(int)time%60;//到秒
              //}else
              //{
              // s=(int)time%60-40;//到秒
              //}
              int ms=(int)time/60;//到总分钟
              int hs=0;
              if(ms>=60)
              {
                hs=(int)ms/60;//得到小时
                ms-=(hs*60+1);//剩余分
              }
                  
                   
              //System.out.println("h:"+h.getTime()/3600);
              //System.out.println("m:"+m.getTime());
    //            System.out.println("天:"+i);
                System.out.println("相差:"+time+"秒");
    //            System.out.println("时:"+hs);
    //            System.out.println("分:"+ms);
    //            System.out.println("秒:"+s);
                  }catch(Exception e)
                  {
                    e.printStackTrace();
                  }
                return time+"秒"+min_time; 
             }
             
            //日期相减
             public static int diffDate(java.util.Date date, java.util.Date date1) {
              return (int) ((getMillis(date) - getMillis(date1)) / (24 * 3600 * 1000));
              }
             

            //返回毫秒
              public static long getMillis(java.util.Date date) {
              java.util.Calendar c = java.util.Calendar.getInstance();
              c.setTime(date);
              return c.getTimeInMillis();
              }
       
            }




  • 相关阅读:
    远程监控基础知识和故障排除
    感慨颇多
    物联网操作系统Hello China移植mile stone之一:移植基础版本V1.76发布
    iOS5系统API和5个开源库的JSON解析速度测试
    (译)iPhone: 用公开API创建带小数点的数字键盘 (OS 3.0, OS 4.0)
    [工具]Mac平台开发几个网络抓包工具(sniffer)
    [工具]Mac下非常好用的快捷终端Dterm
    【IOS】在SDK中打开其他接入应用的解决方案
    [开源]在iOS上实现Android风格的控件Toast
    [技巧]使用Xcode集成的HeaderDoc自动生成注释和开发文档
  • 原文地址:https://www.cnblogs.com/wang3680/p/3448442.html
Copyright © 2020-2023  润新知