zoukankan      html  css  js  c++  java
  • 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);
        }
    

      

  • 相关阅读:
    Python作业之分页显示内容
    Codeforces Round #368 (Div. 2)
    数论专项测试——约数个数和(lucas的数论)
    数论专题测试——逆元
    数论专题测试——幸运数字
    bzoj2219: 数论之神
    bzoj3283: 运算器
    梅森素数
    后缀数组
    Hash_1014: [JSOI2008]火星人prefix
  • 原文地址:https://www.cnblogs.com/xiaobug/p/13393663.html
Copyright © 2011-2022 走看看