日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 计算周_java – Joda时间周计算推理

發布時間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 计算周_java – Joda时间周计算推理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

下面的代碼演示了星期計算的有問題的joda-time實現.這種行為不是錯誤,而是設計決策

Joda-Time uses the ISO standard Monday to Sunday week.(也許它應該是一個錯誤?)

給定一個我需要計算周數的日期,這個計算必須是i18n.含義我必須根據用戶的區域設置考慮正確的周編號.

下面的演示代碼顯示了Joda-Time的錯誤計算和JDK的正確計算,在我們嘗試堅持使用Joda-Time的應用程序中,這是日期操作的優秀解決方案.那么,我應該混合兩個時間計算庫嗎?我顯然不愿意,這甚至是一件安全的事情,還是我會進入角落案件(有日期,日歷的經驗我知道這對Java來說是一個痛苦的問題).

底線:對于上述要求,建議的最佳做法是什么?

問題演示代碼

public class JodaTest {

static DateTimeFormatter formatter = DateTimeFormat.forPattern("ww yyyy");

static SimpleDateFormat jdkFormatter = new SimpleDateFormat("ww yyyy");

public static void main(String[] args) {

DateTime time = new DateTime(/*year*/2009, /*monthOfYear*/12, /*dayOfMonth*/6, /*hourOfDay*/23, /*minuteOfHour*/0, /*secondOfMinute*/0, /*millisOfSecond*/0);

StringBuilder buffer = new StringBuilder()

.append("Testing date ").append(time.toString()).append("\n")

.append("Joda-Time timezone is ").append(DateTimeZone.getDefault()).append(" yet joda wrongly thinks week is ").append(formatter.print(time)).append("\n")

.append("JDK timezone is ").append(TimeZone.getDefault().getID()).append(" yet jdk rightfully thinks week is ").append(jdkFormatter.format(time.toDate())).append(" (jdk got it right ?!?!)");

System.out.println(buffer.toString());

}

}

輸出:

Testing date 2009-12-06T23:00:00.000+02:00

Joda-Time timezone is Asia/Jerusalem yet joda wrongly thinks week is 49 2009

JDK time zone is Asia/Jerusalem yet jdk rightfully thinks week is 50 2009 (jdk got it right ?!?!)

最佳答案 最好的解決方案是編寫DateTimeField的實現,它包裝邏輯以根據語言環境提取所需的值.在內部,您可能仍然依賴于JDK數據.目的是將所有JDK代碼包裝在一個可重用的類中.然后你像這樣使用它:

int value = dateTime.get(new LocaleAwareWeekField("en_GB"));

總結

以上是生活随笔為你收集整理的java 计算周_java – Joda时间周计算推理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。