代码下载:http://www.zuidaima.com/share/1562038902000640.htm

在stackoverflow上找了一个简单的,改写了下符合需求,给大家分享下。

package com.zuidaima;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class RelativeDateFormat {private static final long ONE_MINUTE = 60000L;private static final long ONE_HOUR = 3600000L;private static final long ONE_DAY = 86400000L;private 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 = "年前";public static void main(String[] args) throws ParseException {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:m:s");Date date = format.parse("2013-11-11 18:35:35");System.out.println(format(date));}public static String format(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;}}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;}}

需要的可以下载,可以自己修改测试代码测试。

转载请务必注明出处

几秒前,几分钟前,几小时前,几天前,几月前,几年前的java实现相关推荐

  1. java获取前五分钟时间_使用日期操作类(Calendar)获得几秒、几分钟、几小时之前的时间...

    public String dealDate(String case_time){ // 日期操作类 Calendar calendar = Calendar.getInstance(); // 当前 ...

  2. oracle 系统时间 加 一秒、一分钟、一小时、一天

    trunc(sysdate,'yyyy-mm-dd hh24:mi') 是取当前系统时间. +1/24 就是加上一小时. 以此类推 sysdate+1 加一天 sysdate+1/24 加1小时 sy ...

  3. flutter 几秒前, 几分钟前, 几小时前, 几天前...

    Show me the code!!! class RelativeDateFormat {static final num ONE_MINUTE = 60000;static final num O ...

  4. C#:把发表的时间改为几个月,几天前,几小时前,几分钟前,或几秒前

    C# public string DateStringFromNow(DateTime dt) { TimeSpan span = DateTime.Now - dt; if (span.TotalD ...

  5. mysql 取前几分钟和几秒,mysql 数据库取前后几秒 几分钟 几小时 几天的语句

    mysql 数据库取前后几秒 几分钟 几小时 几天的语句 发布时间:2020-09-24 12:48:06 来源:脚本之家 阅读:99 作者:mdxy-dxy 取当前时间: select curren ...

  6. vue实现Cnode具体有axios分页请求 | filters(过滤器)解决时间转秒前 分钟前 小时前 月前 年前

    vue实现axios分页请求 [注意点] 1.可以根据 对象名[对象中的属性]来获取相对的属性值 2.有类名还要添加类名: :class="['tab-item',{active:activ ...

  7. PHP人性化时间显示,实现多少秒前,多少分钟前,多少小时前

    现在很多网站的时间显示都很人性化,不再是单纯的年月日时分秒,而是根据数据更新的时间与当前时间进行比较,实现多少秒前,多少分钟前,多少小时前! //人性化时间显示 function formatTime ...

  8. python获取时间————前一天后一天前一小时后一小时前一分钟后一分钟前一秒后一秒

    SSRQ='2022-04-08' SSRQ_datetime= datetime.datetime.strptime(SSRQ,'%Y-%m-%d') 字符串转换为时间类型 导入包 import d ...

  9. java几秒前,几分钟前,几小时前,几天前,几月前,几年前的实现

    代码下载:http://www.zuidaima.com/share/1562038902000640.htm package com.zuidaima;import java.text.ParseE ...

  10. 微信小程序-将时间转换成几秒前 几分钟前 几小时前 几天前等时间格式

    描述: 显示消息时间为 几天前 几小时前 几分钟前:同时一年以上的日期直接显示YYY:MM:DD形式 效果: 方法实现: 可以在utils目录下建一个存放公共方法的文件,将getDateDiff方法放 ...

最新文章

  1. 【直播】陈信达:零基础计算机视觉之机器学习基础
  2. R缺失值识别、过滤、填充(中位数、KNN、随机森林)
  3. 在内核中添加系统调用
  4. python获取文件名及文件扩展名的方法
  5. golang中创建logger时候踩过的坑
  6. 我在德国做SAP CRM One Order redesign工作的心得
  7. 任正非:华为有意出售 5G 技术!
  8. nhibernate入门系列: many-to-many映射
  9. linux系统的日历如何改,linux下实现农历的日历
  10. python画图的函数_python画图函数
  11. 2021下半年河南郑州普通话测试报名入口
  12. Bithumb Global AMA丨Cred加速实现开放金融-打造区块链上蚂蚁金服
  13. pythoneducoder苹果梨子煮水的功效_【苹果梨子煮水喝的功效】_苹果好处_作用-大众养生网...
  14. 一个非常好用的图片切割工具(c# winform开发)
  15. Proteus仿真-步进电机
  16. Androbench使用
  17. 陆金所计算年化收益率
  18. 隐函数求导和相关变化率
  19. tortoiseGit管理的文件没有绿色红色等图标
  20. Android TV TIF源码阅读笔记

热门文章

  1. vue 使用NProgress
  2. win10资源管理器如何删除用户文件夹
  3. C语言 求两个数的最大公约数
  4. ArrayList和LinkList 集合
  5. [国嵌攻略][145][块设备系统架构]
  6. Java8 函数式编程【基础篇】
  7. JavaScript 日期时间格式化的简单实现,两行代码实现js date转string
  8. android typeface设置字体,Android使用TypeFace设置TextView的文字字体
  9. Java中悲观锁和乐观锁的区别
  10. 数据库-第一范式、第二范式、第三范式、BC范式、第四范式简析