PrettyTime Java时间库

11-03-06 banq
经常我们需要显示“3分钟前”或"7天后",计算这些时间差耗时耗力,特别是“分钟”“天”这些汉字要硬编码进入Java代码,能否有根据当地时间格式,并且提供时间差的自动计算呢?

如计算两个时间差,通常代码如下:

		long diffs = (dd.getTime() - myd.getTime()) / 1000;
		if (diffs > 60) {
			long diffMinutes = diffs / 60;
			System.out.print(diffMinutes);
		} else
			System.out.print(diffs);
<p>

可是如果相差时间差过分钟,或超过天,或超过月呢?要写很长判断,关键是后面还要跟上本地时间单位“分钟”,破坏国际化风格,如果变成英文系统,代码中分钟要改为Minutes等的

而用PrettyTime简单如下:

PrettyTime t = new PrettyTime(new Date(0));

t.setLocale(new Locale("ZH_CN"));

System.out.println("" + t.format(new Date(deadDate)));

PrettyTime 就是这个功能,其中已经实现中文版输出。

PrettyTime - Elapsed Timestamp Formatting and Conversion for Java (Social, JSF2) | OcpSoft

[该贴被banq于2011-03-06 15:36修改过]

猜你喜欢