代码下载: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. mxGraph破解说明
  2. react-native 查看对象属性
  3. SQL SERVER 数据库清空语句 忽略外键 触发器 等
  4. 观察者模式——解耦利器
  5. VTK:PolyData之SurfaceContourLineInterpolator
  6. 一个有意思的CStatic和combobox以及Cedit控件结合使用
  7. php7 daemon,编译PHP7
  8. 如何查看Win11系统的版本号
  9. Java SQL解析引擎简介
  10. 关于游戏小说与学习知识的不同
  11. python能做页面加载动画吗_HTML+CSS实现页面加载(loading)动画效果
  12. 08-02 性能测试--负载模型与压力来源
  13. Mac OS 下安装wget
  14. Graph Neural Network-Based Anomaly Detection in Multivariate Time Series 代码配置及解析
  15. JAVA初学,小白编程,8大基本类型
  16. SEED-RL安装教程
  17. 领导提拔你,还是干掉你,从来都不是看能力!
  18. VMware 搭建大数据测试平台(CDH6.2.1)
  19. 绝地求生手游电脑版连接服务器没有响应,绝地求生电脑版进去为什么连接失败 | 手游网游页游攻略大全...
  20. 与神对话:每个行为都是爱的表达

热门文章

  1. 前端必知的两个开源框架
  2. C语言字符数组初始化置零方法 linux与Windows系统实测对比
  3. QWidget的使用
  4. hadoop——环境配置
  5. 图的遍历生成树(深度遍历和广度遍历)
  6. C++/C处理char转int
  7. 矩阵的内积外积-正交化-标准化-正交标准化-矩阵的逆
  8. Java io流常用对象及api总结 1
  9. Gitlab-ci实现CICD
  10. git删除远程分支代码