41.计算两个时间之间的间隔时间

来源:互联网 发布:windows和linux的区别 编辑:程序博客网 时间:2024/06/05 08:32

转载请注明出处 http://blog.csdn.net/qq_31715429/article/details/51941963
本文出自:猴菇先生的博客

有这么个需求,服务器返回一个时间字符串,我们计算出这个时间和当前手机时间的时间间隔,如几分钟前、几月前。

    /**     * 计算两个时间之间的间隔时间     * @param netTime 服务器返回的时间字符串     */    public static String gapTime(String netTime) {//2016-07-07T07:15:11.531Z        netTime = netTime.substring(0, netTime.lastIndexOf(".")).replace("T", " ");        try {            Date date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(netTime);            long netT = date.getTime();            long localT = System.currentTimeMillis();            long gapT = localT - netT;//间隔时间的毫秒值            if (gapT / 1000 / 60 / 60 / 24 / 30 / 12 >= 1) {                return (int) (gapT / 1000 / 60 / 60 / 24 / 30 / 12) + "年前";            } else {                if (gapT / 1000 / 60 / 60 / 24 / 30 >= 1) {                    return (int) (gapT / 1000 / 60 / 60 / 24 / 30) + "个月前";                } else {                    if (gapT / 1000 / 60 / 60 / 24 >= 1) {                        return (int) (gapT / 1000 / 60 / 60 / 24) + "天前";                    } else {                        if (gapT / 1000 / 60 / 60 >= 1) {                            return (int) (gapT / 1000 / 60 / 60) + "小时前";                        } else {                            if (gapT / 1000 / 60 >= 1) {                                return (int) (gapT / 1000 / 60) + "分钟前";                            } else {                                return "刚刚";                            }                        }                    }                }            }        } catch (ParseException e) {            e.printStackTrace();        }        return "";    }

麻烦了点,而且时间越久越不精确。。

0 0
原创粉丝点击