java判斷時點所在時間(昨天,今天,前天)


java判斷時點所在時間(昨天,今天,前天)

    /**
       * 2016-11-08 14:39:38
       * pattern yyyy-MM-dd HH:mm:ss
       * @return
       */
    public static String showDate(Date date,String pattern){
            String  dateStr=format(date,pattern);
            String year = dateStr.substring(0,4);
            Long yearNum =Long.parseLong(year);
            int month = Integer.parseInt(dateStr.substring(5,7));  
            int day = Integer.parseInt(dateStr.substring(8,10));  
            String hour = dateStr.substring(11,13);  
            String minute = dateStr.substring(14,16);

            long addtime =date.getTime();
            long today = System.currentTimeMillis();//當前時間的毫秒數
            Date now = new Date(today);
            String  nowStr=format(now,pattern);
            int  nowDay = Integer.parseInt(nowStr.substring(8,10));
            String result="";
               long l=today-addtime;//當前時間與給定時間差的毫秒數
               long days=l/(24*60*60*1000);//這個時間相差的天數整數,大於1天為前天的時間了,小於24小時則為昨天和今天的時間
               long hours=(l/(60*60*1000)-days*24);//這個時間相差的減去天數的小時數
               long min=((l/(60*1000))-days*24*60-hours*60);//
               long s=(l/1000-days*24*60*60-hours*60*60-min*60);
               if(days > 0){
                       if(days>0 && days<2){
                           result ="前天"+hour+"點"+minute+"分";                           
                       } else {
                           result = yearNum%100+"年"+month+"月 "+day+"日"+hour+"點"+minute+"分";
                       }
               }else if(hours > 0 ) {
                        if(day!=nowDay){
                            result = "昨天"+hour+"點"+minute+"分";
                        }else{
                            result=hours+"小時 前";    
                        }
               } else if(min > 0){
                       if(min>0 && min<15){
                           result="剛剛";
                       } else {
                           result=min+"分 前";
                       }
               }else {
                        result=s+"秒 前";
               }
               return result;
    }

    /**
       * 日期格式化
       * @param date      需要格式化的日期
       * @param pattern   時間格式,如:yyyy-MM-dd HH:mm:ss
       * @return          返回格式化后的時間字符串
       */
    public static String format(Date date, String pattern){
        SimpleDateFormat sdf = new SimpleDateFormat(pattern);
        return sdf.format(date);
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM