要使用JodaTime
计算经过的时间,请使用Period
。要将经过的时间格式化为所需的人类表示形式,可以使用PeriodFormatter
来构建PeriodFormatterBuilder
。
这是一个启动示例:
DateTime myBirthDate = new DateTime(1978, 3, 26, 12, 35, 0, 0);
DateTime Now = new DateTime();
Period period = new Period(myBirthDate, Now);
PeriodFormatter formatter = new PeriodFormatterBuilder()
.appendSeconds().appendSuffix(" seconds ago\n")
.appendMinutes().appendSuffix(" minutes ago\n")
.appendHours().appendSuffix(" hours ago\n")
.appendDays().appendSuffix(" days ago\n")
.appendWeeks().appendSuffix(" weeks ago\n")
.appendMonths().appendSuffix(" months ago\n")
.appendYears().appendSuffix(" years ago\n")
.printZeroNever()
.toFormatter();
String elapsed = formatter.print(period);
System.out.println(elapsed);
现在打印
3 seconds ago
51 minutes ago
7 hours ago
6 days ago
10 months ago
31 years ago
你会发现我也考虑了几个月和几年,并将其配置为在零值时忽略这些值。