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);
        }
    

      

  • 相关阅读:
    我们用的信息系统安全吗?
    硬件代理服务器的日志分析方法
    Solarwinds Orion NPM实战视频演示
    网络资源管理系统LANsurveyor实战体验
    2013年,我的推荐博客汇总
    如何精准高效的实现视觉稿?------前端开发辅助工具AlloyDesigner使用介绍
    SVG如何做圆形图片
    canvas绘制一定数目的圆(均分)
    如何禁止火狐onblur时alert()产生类似选中的拖蓝效果
    ABCD多选正则表达式
  • 原文地址:https://www.cnblogs.com/xiaobug/p/13393663.html
Copyright © 2011-2022 走看看