这是一个时间转换工具类,可以转换成,昨天,今天下午,今天上午,还可以判断是星期几。

上代码


显示格式:

1,下面的图片对应第一个方法的效果:


2,下面的图对应的第二个方法效果:


3,下面的图片是第三个方法的效果。


import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** * 时间转换工具 */public class TimeUtil {    private TimeUtil(){}    /**     * 时间转化为显示字符串     *     * @param timeStamp 单位为秒     */    public static String getTimeStr(long timeStamp){        if (timeStamp==0) return "";        Calendar inputTime = Calendar.getInstance();        inputTime.setTimeInMillis(timeStamp*1000);        Date currenTimeZone = inputTime.getTime();        Calendar calendar = Calendar.getInstance();        calendar.set(Calendar.HOUR_OF_DAY, 23);        calendar.set(Calendar.MINUTE, 59);        calendar.set(Calendar.HOUR_OF_DAY, 0);        calendar.set(Calendar.MINUTE, 0);        calendar.set(Calendar.SECOND, 0);        calendar.set(Calendar.MILLISECOND, 0);        if (calendar.before(inputTime)){            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");            return sdf.format(currenTimeZone);        }        calendar.add(Calendar.DAY_OF_MONTH,-1);        if (calendar.before(inputTime)){            return "昨天";        }else{            calendar.add(Calendar.DAY_OF_MONTH, -5);            if (calendar.before(inputTime)){                return getWeekDayStr(inputTime.get(Calendar.DAY_OF_WEEK));            }            else            {                calendar.set(Calendar.DAY_OF_MONTH, 1);                calendar.set(Calendar.MONTH, Calendar.JANUARY);                int year = inputTime.get(Calendar.YEAR);                int month = inputTime.get(Calendar.MONTH);                int day = inputTime.get(Calendar.DAY_OF_MONTH);                return year+"/"+month+"/"+day;            }        }    }    
 /**     * 群发使用的时间转换     */    public static String multiSendTimeToStr(long timeStamp) {        if (timeStamp==0) return "";        Calendar inputTime = Calendar.getInstance();        String timeStr = timeStamp + "";        if(timeStr.length() == 10){            timeStamp = timeStamp*1000;        }        inputTime.setTimeInMillis(timeStamp);        Date currenTimeZone = inputTime.getTime();        Calendar calendar = Calendar.getInstance();        calendar.set(Calendar.HOUR_OF_DAY, 0);        calendar.set(Calendar.MINUTE, 0);        calendar.set(Calendar.SECOND, 0);        calendar.set(Calendar.MILLISECOND, 0);        if (calendar.before(inputTime)){            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");            return sdf.format(currenTimeZone);        }        calendar.add(Calendar.DAY_OF_MONTH,-1);        if (calendar.before(inputTime)){            SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");            return "昨天";        }else {            calendar.add(Calendar.DAY_OF_MONTH, -5);            if (calendar.before(inputTime)){                return getWeekDayStr(inputTime.get(Calendar.DAY_OF_WEEK));            } else{                calendar.set(Calendar.DAY_OF_MONTH, 1);                calendar.set(Calendar.MONTH, Calendar.JANUARY);                if (calendar.before(inputTime)){                    SimpleDateFormat sdf = new SimpleDateFormat("M"+"/"+"d"+" ");                    String temp1 = sdf.format(currenTimeZone);                    SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm");                    String temp2 = sdf1.format(currenTimeZone);                    return temp1+temp2;                }else{                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy"+"/"+"M"+"/"+"d"+" ");                    String temp1 = sdf.format(currenTimeZone);                    SimpleDateFormat sdf1 = new SimpleDateFormat("HH:mm");                    String temp2 = sdf1.format(currenTimeZone);                    return temp1+temp2;                }            }        }    }
/**     * 时间转化为聊天界面显示字符串     *     * @param timeStamp 单位为秒     */    public static String getChatTimeStr(long timeStamp){        if (timeStamp==0) return "";        Calendar inputTime = Calendar.getInstance();        String timeStr = timeStamp + "";        if(timeStr.length() == 10){            timeStamp = timeStamp*1000;        }        inputTime.setTimeInMillis(timeStamp);        Date currenTimeZone = inputTime.getTime();        Calendar calendar = Calendar.getInstance();//        if (calendar.before(inputTime)){//            //当前时间在输入时间之前//            SimpleDateFormat sdf = new SimpleDateFormat("yyyy" + "年"+"MM"+"月"+"dd"+"日");//            return sdf.format(currenTimeZone);//        }        calendar.set(Calendar.HOUR_OF_DAY, 0);        calendar.set(Calendar.MINUTE, 0);        calendar.set(Calendar.SECOND, 0);        calendar.set(Calendar.MILLISECOND, 0);        if (calendar.before(inputTime)){            SimpleDateFormat sdf = new SimpleDateFormat("h:mm");            return timeFormatStr(inputTime,sdf.format(currenTimeZone));        }        calendar.add(Calendar.DAY_OF_MONTH,-1);        if (calendar.before(inputTime)){            SimpleDateFormat sdf = new SimpleDateFormat("h:mm");            return "昨天"+" "+timeFormatStr(inputTime, sdf.format(currenTimeZone));        }else{            calendar.set(Calendar.DAY_OF_MONTH, 1);            calendar.set(Calendar.MONTH, Calendar.JANUARY);            if (calendar.before(inputTime)){                SimpleDateFormat sdf = new SimpleDateFormat("M"+"月"+"d"+"日");                String temp1 = sdf.format(currenTimeZone);                SimpleDateFormat sdf1 = new SimpleDateFormat("h:mm");                String temp2 = timeFormatStr(inputTime, sdf1.format(currenTimeZone));                return temp1+temp2;            }else{                SimpleDateFormat sdf = new SimpleDateFormat("yyyy"+"年"+"M"+"月"+"d"+"日");                String temp1 = sdf.format(currenTimeZone);                SimpleDateFormat sdf1 = new SimpleDateFormat("h:mm");                String temp2 = timeFormatStr(inputTime, sdf1.format(currenTimeZone));                return temp1+temp2;            }        }    }    /**     * 24小时制转化成12小时制     *     * @param strDay     */    public static String timeFormatStr(Calendar calendar,String strDay)    {        String tempStr = "";        int hour = calendar.get(Calendar.HOUR_OF_DAY);        if (hour > 11)        {            tempStr = "下午"+" " + strDay;        }        else        {            tempStr = "上午"+" " + strDay;        }        return tempStr;    }    /**     * 时间转化为星期     *     * @param indexOfWeek   星期的第几天     */    public static String getWeekDayStr(int indexOfWeek){        String weekDayStr = "";        switch (indexOfWeek)        {            case 1:                weekDayStr = "星期日";                break;            case 2:                weekDayStr = "星期一";                break;            case 3:                weekDayStr = "星期二";                break;            case 4:                weekDayStr = "星期三";                break;            case 5:                weekDayStr = "星期四";                break;            case 6:                weekDayStr = "星期五";                break;            case 7:                weekDayStr = "星期六";                break;        }        return weekDayStr;    }    /**     * 将时间戳格式化,13位的转为10位     * @param timestamp     * @return     */    public static long timestampFormate(long timestamp){        String timestampStr = timestamp + "";        if(timestampStr.length() == 13){            timestamp = timestamp/1000;        }        return timestamp;    }


   


更多相关文章

  1. Android(安卓)Activity之间切换的各种效果
  2. Android定时器之Handler的postDelyed方法
  3. Android(安卓)PopupWindow输入框弹起时被PopupWindow中的edit被
  4. Android(安卓)7.0以上(包含8.0), popupWindow弹窗位置异常, 解决
  5. Android性能分析工具--Android(安卓)Monitor
  6. 点击按钮 按钮缩放动画:
  7. Android中View跟随手指滑动效果的实例代码
  8. 【Android(安卓)UI】案例03滑动切换效果的实现(ViewPager)
  9. Android学习笔记之动画效果Animation

随机推荐

  1. PHP实现微信支付(jsapi支付)和退款(无需
  2. ThinkPHP实现微信支付(jsapi支付)流程教
  3. 使用 Docker 安装 Zabbix,并配置自定义监
  4. uni-app组件-应用简单快速上线
  5. 轮播图,xhr
  6. 完善课堂的案例,将右侧布局实现
  7. C++基础知识一
  8. 仿PHP中文网首页部分布局
  9. 鼠标悬停,向前和向后翻页,实例演示 xhr对
  10. 轮播图:1: 实现鼠标悬停时自动停止播放,