资讯专栏INFORMATION COLUMN

使用prettyTime格式化时间

dayday_up / 635人阅读

摘要:序社交网站经常会显示几分钟前,几个小时前之类的时间,里头有个的类库可以用来做这样的转换,这里介绍一下。设置格式化输出分钟后源码解析这里有个方法,去包装格式化信息,比如的实现

社交网站经常会显示几分钟前,几个小时前之类的时间,java里头有个prettyTime的类库可以用来做这样的转换,这里介绍一下。

maven
    
            org.ocpsoft.prettytime
            prettytime
            4.0.1.Final
        
设置locale
Locale locale = Locale.CHINESE;
Locale.setDefault(Locale.CHINESE);
格式化
PrettyTime t = new PrettyTime(new Date(0));
System.out.println(t.format(new Date(1000 * 60 * 12)));

输出

12 分钟 后
源码解析 TimeFormat
public interface TimeFormat {
    String format(Duration var1);

    String formatUnrounded(Duration var1);

    String decorate(Duration var1, String var2);

    String decorateUnrounded(Duration var1, String var2);
}

这里有个decorate方法,去包装格式化信息,比如org/ocpsoft/prettytime/format/SimpleTimeFormat的实现

public String decorate(Duration duration, String time) {
        StringBuilder result = new StringBuilder();
        if(duration.isInPast()) {
            result.append(this.pastPrefix).append(" ").append(time).append(" ").append(this.pastSuffix);
        } else {
            result.append(this.futurePrefix).append(" ").append(time).append(" ").append(this.futureSuffix);
        }

        return result.toString().replaceAll("s+", " ").trim();
    }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70272.html

相关文章

  • GoFrame框架之gtime时间模块,支持自定义时间式化语法

    摘要:文章来源通用时间管理模块,封装了常用的时间日期相关的方法。并支持自定义的日期格式化语法,格式化语法类似的语法。示例,自定义时间格式化语法在该示例中,我们给定了四种格式,并将当前时间用这四种格式转换后打印出来。 文章来源:http://gf.johng.cn/494387 通用时间管理模块,封装了常用的时间/日期相关的方法。并支持自定义的日期格式化语法,格式化语法类似PHP的date语法...

    Bryan 评论0 收藏0
  • Python——基本数据类型(模块2: time库的使用)(实例3:文本进度条)

    摘要:前言本篇主要介绍基本数据类型,以文本进度条为例,介绍库的使用。 前言 本篇主要介绍基本数据类型,以文本进度条为例,介绍time库的使用。 并在最后对蟒蛇绘制的代码进...

    Jenny_Tong 评论0 收藏0
  • 20 个案例教你在 Java 8 中如何处理日期和时间?

    摘要:前言前面一篇文章写了如何安全的使用里面介绍了如何处理日期时间,以及如何保证线程安全,及其介绍了在中的处理时间日期默认就线程安全的类。引入了全新的日期时间格式工具,线程安全而且使用方便。 前言 前面一篇文章写了《SimpleDateFormat 如何安全的使用?》, 里面介绍了 SimpleDateFormat 如何处理日期/时间,以及如何保证线程安全,及其介绍了在 Java 8 中的处...

    Rango 评论0 收藏0
  • 全面解析Java日期时间API

    摘要:类是一个抽象类,它为特定瞬间与一组诸如等日历字段之间的转换提供了一些方法,并为操作日历字段例如获得下星期的日期提供了一些方法。是不变的日期时间对象代表一个日期时间,往往被视为年月日时分秒。获得实例的日期和时间。 时区 GMT(Greenwich Mean Time):格林尼治时间,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治上空最高点时)的时间。 UTC(U...

    robin 评论0 收藏0
  • Python之时间和日期使用小结

    摘要:对于日期的操作可以说是比较常见的了日期与格式化字符串互转,日期与时间戳互转,日期的加减操作等,下面主要介绍下常见的需求场景如何实现基本包引入主要需要引入时间和日期的处理包,后面的基本操作都是基于此获取当前时间获取当前时间,有几种方式 对于日期的操作可以说是比较常见的case了,日期与格式化字符串互转,日期与时间戳互转,日期的加减操作等,下面主要介绍下常见的需求场景如何实现 1. 基本...

    BigNerdCoding 评论0 收藏0

发表评论

0条评论

dayday_up

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<