zoukankan      html  css  js  c++  java
  • 计算两个时间相隔多少时间段的类,可以直接拿来用哦!

    计算两个时间相隔多少时间段的类,可以直接拿来用哦!
    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();
              }
       
            }




  • 相关阅读:
    k8s记录-helm部署(九)
    k8s记录-master组件部署(八)
    Hadoop记录-Apache hadoop+spark集群部署
    k8s记录-ubuntu安装docker
    Nginx记录-Proxy_pass多个应用配置(转载)
    Java动态调用脚本语言Groovy
    05 吸收应用-会整理还不够?教你吸收、联想、输出、应用
    02 超级搜索术——资源搜索:全面、快速查找全网你想要的任何信息、情报
    01 超级搜索术——信息搜索:全面、快速查找全网你想要的任何信息、情报
    长赢指数基金投资计划-201807(一补仓)
  • 原文地址:https://www.cnblogs.com/wang3680/p/3448442.html
Copyright © 2011-2022 走看看