Android下的几种时间格式转换

作者: 书柜里的松鼠 | 来源:发表于2017-04-01 10:55 被阅读4254次

    将毫秒转换为小时:分钟:秒格式

    public static String ms2HMS(int _ms){
            String HMStime;
            _ms/=1000;
            int hour=_ms/3600;
            int mint=(_ms%3600)/60;
            int sed=_ms%60;
            String hourStr=String.valueOf(hour);
            if(hour<10){
                hourStr="0"+hourStr;
            }
            String mintStr=String.valueOf(mint);
            if(mint<10){
                mintStr="0"+mintStr;
            }
            String sedStr=String.valueOf(sed);
            if(sed<10){
                sedStr="0"+sedStr;
            }
            HMStime=hourStr+":"+mintStr+":"+sedStr;
            return HMStime;
        }
    

    将毫秒转换为标准日期格式

    public static String ms2Date(long _ms){
            Date date = new Date(_ms);
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault());
            return format.format(date);
        }
    
        public static String ms2DateOnlyDay(long _ms){
            Date date = new Date(_ms);
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
            return format.format(date);
        }
    

    标准时间转换为时间戳

    public static long Date2ms(String _data){
            SimpleDateFormat format =   new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try {
                Date date = format.parse(_data);
                return date.getTime();
            }catch(Exception e){
                return 0;
            }
        }
    

    计算时间差

    public static  String DateDistance(Date startDate,Date endDate){
            if(startDate == null ||endDate == null){
                return null;
            }
            long timeLong = endDate.getTime() - startDate.getTime();
            if(timeLong<0){
                timeLong=0;
            }
            if (timeLong<60*1000)
                return timeLong/1000 + "秒前";
            else if (timeLong<60*60*1000){
                timeLong = timeLong/1000 /60;
                return timeLong + "分钟前";
            }
            else if (timeLong<60*60*24*1000){
                timeLong = timeLong/60/60/1000;
                return timeLong+"小时前";
            }
            else if ((timeLong/1000/60/60/24)<7){
                timeLong = timeLong/1000/ 60 / 60 / 24;
                return timeLong + "天前";
            }else{
                SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
                return formatter.format(startDate);
            }
        }
    

    计算与当前的时间差

    public static  String DateDistance2now(long _ms){
            SimpleDateFormat DateF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try {
                Long time=new Long(_ms);
                String d = DateF.format(time);
                Date startDate=DateF.parse(d);
                Date nowDate = Calendar.getInstance().getTime();
                return DateDistance(startDate, nowDate);
            }catch (Exception e){
            }
            return null;
        }
    

    相关文章

      网友评论

        本文标题:Android下的几种时间格式转换

        本文链接:https://www.haomeiwen.com/subject/hbhiottx.html