第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何用Joda-Time計算從現(xiàn)在開始的經(jīng)過時間?

如何用Joda-Time計算從現(xiàn)在開始的經(jīng)過時間?

如何用Joda-Time計算從現(xiàn)在開始的經(jīng)過時間?我需要計算從特定日期到現(xiàn)在所用的時間,并以與StackOverflow問題相同的格式顯示它,即:15s ago2min ago2hours ago2days ago25th Dec 08您知道如何使用Java Joda-Time庫實現(xiàn)它嗎?是否有一個已經(jīng)實現(xiàn)它的輔助方法,或者我應該自己編寫算法?
查看完整描述

3 回答

?
慕俠2389804

TA貢獻1719條經(jīng)驗 獲得超6個贊

要使用JodaTime計算經(jīng)過的時間,請使用Period。要格式化所需人類表示中的已用時間,請使用PeriodFormatter您可以構(gòu)建的表達式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);

這打印到現(xiàn)在

3秒前51分鐘前7小時前6天前10個月前31年前

(咳嗽,老了,咳嗽)你看我已經(jīng)考慮了數(shù)月和數(shù)年,并將其配置為在零值時省略值。


查看完整回答
反對 回復 2019-08-16
?
幕布斯6054654

TA貢獻1876條經(jīng)驗 獲得超7個贊

使用PrettyTime進行簡單的經(jīng)過時間。

我嘗試了HumanTime,因為@sfussenegger回答并使用了JodaTime,Period但是我發(fā)現(xiàn)人類可讀時間最簡單,最干凈的方法是PrettyTime庫。

這里有一些帶輸入和輸出的簡單示例:

五分鐘前

DateTime fiveMinutesAgo = DateTime.now().minusMinutes( 5 );new PrettyTime().format( fiveMinutesAgo.toDate() );// Outputs: "5 minutes ago"

不久前

DateTime birthday = new DateTime(1978, 3, 26, 12, 35, 0, 0);new PrettyTime().format( birthday.toDate() );// Outputs: "4 decades ago"

小心:我已經(jīng)嘗試過使用圖書館更精確的功能,但它會產(chǎn)生一些奇怪的結(jié)果,所以要小心使用它,并在非危及生命的項目中使用它。


查看完整回答
反對 回復 2019-08-16
?
DIEA

TA貢獻1820條經(jīng)驗 獲得超3個贊

您可以使用PeriodFormatter執(zhí)行此操作,但您不必像在其他答案中那樣努力創(chuàng)建自己的PeriodFormatBuilder 。如果它適合您的情況,您可以使用默認格式化程序:

Period period = new Period(startDate, endDate);System.out.println(PeriodFormat.getDefault().print(period))

(就類似的問題給出了這個答案的提示,我為了發(fā)現(xiàn)而交叉發(fā)布)


查看完整回答
反對 回復 2019-08-16
  • 3 回答
  • 0 關(guān)注
  • 734 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號