Java程序中如何计算某一项操作或状态的时间?比如用户的在线时间(从登陆到注销)、某一项操作从开始执行到结束所用的时间。

解决方案 »

  1.   

    你在进入方法时,计算一下(new Date()).getTime();
    再离开方法时,再计算一下。两者相减,就是执行这个方法的所需毫秒数了,
    可行不?
      

  2.   

    如果是web项目,可以用filter实现。如果使用struts2,还可以用interceptor实现
      

  3.   

    public static long getCompareDate(String startDate,String endDate) throws ParseException {  
         SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd");  
         Date date1=formatter.parse(startDate);      
         Date date2=formatter.parse(endDate);  
         long l = date2.getTime() - date1.getTime();  
         long d = l/(24*60*60*1000);  
         return d;  
     }  
      

  4.   


    long beginTime=System.currentTimeMillis();
      //是你测试的方法体
      long endTime=System.currentTimeMillis();
      
      long resultTime=beginTime-endTime;
      

  5.   


    import java.util.Calendar;
    import java.util.Date;public class HelloWord {
     public static void main(String[] args)  {     long date1=new Date().getTime();
     for(int i=0;i<100000;i++){  //想要执行的操作
     System.out.println("-----------"+i+"-------------");
     }
     long date2=new Date().getTime();
     
     
     long hh=(date2-date1)/(60*60*1000);
     long mm=((date2-date1)%(60*60*1000))/(60*1000);
     long ss=((date2-date1)%(60*60*1000)%(60*1000))/1000;
     long ms=((date2-date1)%(60*60*1000)%(60*1000))%1000;
     System.out.println(hh+":"+mm+":"+ss+":"+ms);
    }}借用楼上的思想写了个例子