一个转换日期的工具类

来源:互联网 发布:深入理解软件构造系统 编辑:程序博客网 时间:2024/05/16 09:05

涉及到即时通讯的方面app制作,难免会有朋友圈,动态,这样的话就一定有一个发布的事件,如何将从服务器上发布的创建事件转换成几分钟前,几个小时前  刚刚 这样的形式,下面有一个工具类方便的转换

//第一步:

public class TimeUtils {    private static TimeUtils mInstance;    private static int nowYear;    private static int nowMonth;    private static int nowDay;    private static int nowHour;    private static int nowSecond;    private static int nowMinute;    private TimeUtils() {    }    public static TimeUtils getInstance() {        if (mInstance == null) {            synchronized (TimeUtils.class) {                if (mInstance == null) {                    mInstance = new TimeUtils();                }            }        }        return mInstance;    }


//第二步,拿到当前的时间,两种方式,注意,用calendar拿到的月比实际小一个月,使用的时候要+1

    public static TimeUtils getNowTime() {//        long nowTime = System.currentTimeMillis();//        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//24小时制//        Date da = new Date(nowTime);//        String data = sf.format(da);////        String[] arr = data.split(" ");//        String[] day = arr[0].split("-");//        //拿到年月日//        nowYear = Integer.valueOf(day[0]);//        nowMonth = Integer.valueOf(day[1]);//        nowDay = Integer.valueOf(day[2]);//        //拿到十分秒//        String[] timeHour = arr[1].split(":");//        nowHour = Integer.valueOf(timeHour[0]);//        nowMinute = Integer.valueOf(timeHour[1]);//        nowSecond = Integer.valueOf(timeHour[2]);        Calendar mCalender = Calendar.getInstance();        nowYear = mCalender.get(Calendar.YEAR);        nowMonth = mCalender.get(Calendar.MONTH);        nowDay = mCalender.get(Calendar.DAY_OF_MONTH);        nowHour = mCalender.get(Calendar.HOUR_OF_DAY);        nowMinute = mCalender.get(Calendar.MINUTE);        nowSecond = mCalender.get(Calendar.SECOND);        System.out.println("--vnowYear =  " + nowYear );        System.out.println("--vnowMonth =  " + nowMonth );        System.out.println("--vnowDay =  " + nowDay );        System.out.println("--vnowHour =  " + nowHour );        System.out.println("--vnowMinute =  " + nowMinute );        System.out.println("--vnowSecond =  " + nowSecond );        return mInstance;    }

//第三步,将服务器获得的时间进行转换

public static String getPublishTime(String data) {    //2015-11-23 07:12:45    String[] arr = data.split(" ");    String[] day = arr[0].split("-");    //拿到年月日    int year = Integer.valueOf(day[0]);    int month = Integer.valueOf(day[1]);    int date = Integer.valueOf(day[2]);    //拿到十分秒    String[] timeHour = arr[1].split(":");    int hour = Integer.valueOf(timeHour[0]);    int minute = Integer.valueOf(timeHour[1]);    int second = Integer.valueOf(timeHour[2]);    nowMonth =nowMonth+1;  //注意,用日历获得的月比实际要小一个月,所以要+1    if (nowYear - year > 0) {        return  year + "";    } else if (nowMonth  - month > 0 ) {        return nowMonth - month  + "个月前";    } else if (nowDay - date > 0) {        return nowDay - date + "天前";    } else if (nowHour - hour > 0) {        return nowHour - hour + "小时前";    } else if (nowMinute - minute > 0) {        return nowMinute - minute + "分钟前";    } else if (nowSecond - second > 30) {        return nowSecond - second + "秒钟前";    }else{        return "刚刚";    }}




0 0
原创粉丝点击