java 获取日期的几天前,几个月前和几年前的实例
2017-10-31 08:34
816 查看
实例如下:
package bys.utils; import java.util.Date; /** * Created by toutou on 2015/3/23. */ public class DateHelper { public static final long ONE_MINUTE = 60000L; public static final long ONE_HOUR = 3600000L; public static final long ONE_DAY = 86400000L; public static final long ONE_WEEK = 604800000L; private static final String ONE_SECOND_AGO = "秒前"; private static final String ONE_MINUTE_AGO = "分钟前"; private static final String ONE_HOUR_AGO = "小时前"; private static final String ONE_DAY_AGO = "天前"; private static final String ONE_MONTH_AGO = "月前"; private static final String ONE_YEAR_AGO = "年前"; private static long toSeconds(long date) { return date / 1000L; } private static long toMinutes(long date) { return toSeconds(date) / 60L; } private static long toHours(long date) { return toMinutes(date) / 60L; } private static long toDays(long date) { return toHours(date) / 24L; } private static long toMonths(long date) { return toDays(date) / 30L; } private static long toYears(long date) { return toMonths(date) / 365L; } public static String getPastTime(Date date) { long delta = new Date().getTime() - date.getTime(); if (delta < 1L * ONE_MINUTE) { long seconds = toSeconds(delta); return (seconds <= 0 ? 1 : seconds) + ONE_SECOND_AGO; } if (delta < 45L * ONE_MINUTE) { long minutes = toMinutes(delta); return (minutes <= 0 ? 1 : minutes) + ONE_MINUTE_AGO; } if (delta < 24L * ONE_HOUR) { long hours = toHours(delta); return (hours <= 0 ? 1 : hours) + ONE_HOUR_AGO; } if (delta < 48L * ONE_HOUR) { return "昨天"; } if (delta < 30L * ONE_DAY) { long days = toDays(delta); return (days <= 0 ? 1 : days) + ONE_DAY_AGO; } if (delta < 12L * 4L * ONE_WEEK) { long months = toMonths(delta); return (months <= 0 ? 1 : months) + ONE_MONTH_AGO; } else { long years = toYears(delta); return (years <= 0 ? 1 : years) + ONE_YEAR_AGO; } } }
调用示例:
String time = DateHelper.getPastTime(Date.from(item.getCreateTime().atZone(ZoneId.systemDefault()).toInstant()));
以上这篇java 获取日期的几天前,几个月前和几年前的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- java 获取日期的几天前,几个月前和几年前
- java获取几天前和几天后的日期
- 从当前日期算起,获取几天前的日期和几个月前的日期
- android显示时间为几天前,几个月前,几年前及具体日期
- java获取当前日期使用实例
- Java日期操作方法工具类实例【包含日期比较大小,相加减,判断,验证,获取年份等】
- Java 以指定日期时间格式获取当前时间、以及每隔一秒刷新一次的方法------附带实例
- java获取日期
- java Calendar 工具类(几天前的日期,几天后的日期)(持续补充)
- java日期格式函数的用法与实例
- java 获取用户的MAC地址多种方法实例详解
- java获取当前日期是星期几
- java 获取上月、一个月最后一天、周一、周日、本月日期 【转】
- java写的日期工具,根据设置日期获取指定的一周或者一个月的所有日期
- Java 获取指定日期的方法总结
- Java_日期操作_获取当前日期
- Java使用Calendar获取当前日期
- 获取当前系统日期 java.sql.Date 转换 java.sql.Date
- java获取各种格式的时间,获取昨天明天日期,获取一天的开始结束时间
- java中获取当前系统时间,日期并格式化输出