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

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

沒有時間組件的 Java 8 天差異

沒有時間組件的 Java 8 天差異

繁星淼淼 2021-12-30 20:38:28
我的實用程序方法接受 Java 7 日期(我無法控制它,因為它是外部的)但需要計算日差。我正在使用 Java 8 ChronoUnit 方法來精確避免閏年、夏令時等所有問題。public static long daysBetweenDatesWithSign(Date d1, Date d2) {    Instant instant1 = d1.toInstant();    Instant instant2 = d2.toInstant();    long diff = ChronoUnit.DAYS.between(instant1, instant2);    return diff;}結(jié)果不是我想要的,因為它需要考慮時間,例如( [Nov.5,2018 11:00am] , [Mar.5,2019 10:00am] )給-119而不是-120。( [Nov.5,2018 11:00am] , [Mar.5,2019 3:00pm] )給-120.我需要提供這兩個,-120因為我的功能應(yīng)該是白天/無時間比較。但是Calendar由于閏年等問題,我不想回到 Java 7 。準(zhǔn)確地說,我需要新的 Java 8 方法,但是我可以比較 Java 8 中的 Days/no-Time 嗎?
查看完整描述

1 回答

?
慕容3067478

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

首先,該方法針對給定日期值返回的值分別是113and 114, not-119和-120。


假設(shè)您想要根據(jù)當(dāng)前(默認(rèn))時區(qū)的日期差異,您可以通過調(diào)用then將Instant值轉(zhuǎn)換為。LocalDateatZonetoLocalDate


public static long daysBetweenDatesWithSign(Date d1, Date d2) {

    return daysBetweenDatesWithSign(d1, d2, ZoneId.systemDefault());

}

public static long daysBetweenDatesWithSign(Date d1, Date d2, ZoneId zone) {

    LocalDate instant1 = d1.toInstant().atZone(zone).toLocalDate();

    LocalDate instant2 = d2.toInstant().atZone(zone).toLocalDate();

    return ChronoUnit.DAYS.between(instant1, instant2);

}

測試


public static void main(String[] args) throws ParseException {

    test("Nov.11,2018 11:00am", "Mar.5,2019 10:00am");

    test("Nov.11,2018 11:00am", "Mar.5,2019 3:00pm");

}

public static void test(String d1, String d2) throws ParseException {

    SimpleDateFormat fmt = new SimpleDateFormat("MMM.d,yyyy hh:mma");

    System.out.println("[" + d1 + "] , [" + d2 + "] = " +

            daysBetweenDatesWithSign(fmt.parse(d1), fmt.parse(d2)));

}

輸出


[Nov.11,2018 11:00am] , [Mar.5,2019 10:00am] = 114

[Nov.11,2018 11:00am] , [Mar.5,2019 3:00pm] = 114


查看完整回答
反對 回復(fù) 2021-12-30
  • 1 回答
  • 0 關(guān)注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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