发布时间计算转换成年月周日时分前


import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUnit;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author Guo ZhiShun
 * @className DateUtil
 * @create 2020/10/30 08:48
 * @description
 **/
public class DateUtil {

	 /**
     * 获取和当前时间差值,并转换成年月天周时分前
     * @param date 计算的时间
     * @return 多久前
     */
    public static String conversionDate(Date date){
        long currentTimeMillis = System.currentTimeMillis();
        long oldTimeMillis = date.getTime();
        long difference = currentTimeMillis - oldTimeMillis;
        String result = "";
        long minute = 60 * 1000;
        long hour = 60 * minute;
        long day = 24 * hour;
        long week = 7 * day;
        long month = 30 * day;
        long year = 365 * day;

        int _year = (int)(difference / year);
        int _month = (int)(difference / month);
        int _week = (int)(difference / week);
        int _day = (int)(difference / day);
        int _hour = (int)(difference / hour);
        int _minute = (int)(difference / minute);

        if(_year >= 1){
            result = "发表于"+_year+ "年前";
        } else if(_month >= 1){
            result = "发表于"+_month+ "月前";

        } else if(_week >= 1){
            result = "发表于"+_week+ "周前";

        } else if(_day >= 1){
            result = "发表于"+_day+ "天前";

        } else if(_hour >= 1){
            result = "发表于"+_hour+ "小时前";

        } else if (_minute >= 1) {
            result = "发表于"+_minute+ "分钟前";

        } else {
            result = "刚发表";

        }
        return result;
    }

    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = sdf.parse("2020-10-30 09:15:15");
        System.out.println(conversionDate(date));
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值