你也可以使用
Joda-Time进行此操作。使用
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() .appendYears().appendSuffix(" year, ", " years, ") .appendMonths().appendSuffix(" month, ", " months, ") .appendWeeks().appendSuffix(" week, ", " weeks, ") .appendDays().appendSuffix(" day, ", " days, ") .appendHours().appendSuffix(" hour, ", " hours, ") .appendMinutes().appendSuffix(" minute, ", " minutes, ") .appendSeconds().appendSuffix(" second", " seconds") .printZeronever() .toFormatter();String elapsed = formatter.print(period);System.out.println(elapsed + " ago");更加简洁明了,不是吗?
现在打印
32 years, 1 month, 1 week, 5 days, 6 hours, 56 minutes, 24 seconds ago



