[英]TimeZone.setDefault for a thread in Java 8
當前,我們使用TimeZone.setDefault設置線程的默認時區。 我知道使用Java 8調用此方法可為JVM設置默認時區。
有沒有人建議如何在Java 8中為線程設置默認時區而無需重新編寫大量代碼?
謝謝,
肯
完全不要使用系統默認值。 使用ThreadLocal<T>
: ThreadLocal<TimeZone>
或更好的是,帶有java.time
類的ThreadLocal<ZoneId>
。 然后,您可以從那里獲取需要默認值的所有位置。
就我個人而言,我會盡量避免使用局部線程,而是顯式地傳遞上下文-或者,如果您確實希望隱式擁有上下文,請將所有上下文(例如,用於Web請求)封裝在適當的上下文類型中,而不是對於時區,語言環境等具有單獨的線程語言環境
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.