Time difference program

后端 未结 3 1425
梦谈多话
梦谈多话 2021-01-29 16:08

I am using following function to calculate time difference. It is not showing proper output. After 1 month time difference it is showing 2 minutes difference.

What is wr

3条回答
  •  逝去的感伤
    2021-01-29 16:47

    import org.apache.commons.lang.time.DateUtils;
    import java.text.SimpleDateFormat;
    
    
    @Test
    public void testDate() throws Exception {
    
        long t1 = new SimpleDateFormat("dd.MM.yyyy").parse("20.03.2013").getTime();
        long now = System.currentTimeMillis();
        String result = null;
        long diff = Math.abs(t1-now);
    
    
        if(diff < DateUtils.MILLIS_PER_MINUTE){
             result =  "few seconds ago";
        }else if(diff < DateUtils.MILLIS_PER_HOUR){
             result = (int)(diff/DateUtils.MILLIS_PER_MINUTE) + " minuts ago";
        }else if(diff < DateUtils.MILLIS_PER_DAY){
            result =  (int)(diff/DateUtils.MILLIS_PER_HOUR) + " hours ago";
        }else if(diff < DateUtils.MILLIS_PER_DAY * 2){
            result = new SimpleDateFormat("'yesterday at' hh:mm a").format(t1);
        }else if(diff < DateUtils.MILLIS_PER_DAY * 365){
            result = new SimpleDateFormat(" MMM d 'at' hh:mm a").format(t1);
        } else{
            result = new SimpleDateFormat("MMM d ''yy 'at' hh:mm a").format(t1);
        }
        result = result.replace("AM", "am").replace("PM", "pm");
        System.out.println(result);
    
    
    }
    

提交回复
热议问题