Java常見問題 TimeZone的誤用

2021-09-02 00:10:53 字數 659 閱讀 6563

calendar cal = new gregoriancalendar(); 

cal.settime(date); 

cal.set(calendar.hour_of_day, 0); 

cal.set(calendar.minute, 0); 

cal.set(calendar.second, 0); 

date startofday = cal.gettime(); 

這裡有兩個錯誤, 乙個是沒有沒有將毫秒歸零, 不過最大的錯誤是沒有指定timezone, 不過一般的桌面應用沒有問題, 但是如果是伺服器端應用則會有一些問題, 比如同一時刻在上海和倫敦就不一樣, 因此需要指定的timezone.

正確的寫法:

calendar cal = new gregoriancalendar(user.gettimezone()); 

cal.settime(date); 

cal.set(calendar.hour_of_day, 0); 

cal.set(calendar.minute, 0); 

cal.set(calendar.second, 0); 

cal.set(calendar.millisecond, 0); 

date startofday = cal.gettime(); 

Java 面試常見問題

介面抽象類 區別成員變數 抽象類可以是變數也可以是常量,介面只能是常量 關鍵字 抽象類abstract 介面是inte ce 構造方法 介面沒有構造方法,抽象類有構造方法 成員方法 抽象類可以有非抽象方法,而介面不能有 介面可以多實現,而抽象類只能單繼承 介面可以同時繼承多個介面 相同點不能直接例項...

JAVA之常見問題

與equals 的區別 比較的是兩個物件的位址 equals 比較的是2個物件的內容 是比較兩個 基本型別 的值是否相等,equals 是比較兩個物件是否相等。switch語句中的變數型別只能是 byte short int char string。實現多型的三個條件 繼承 重寫 向上轉型。每個方法...

JAVA面試面試常見問題

面試官問你乙個問題,你要說出關鍵點,不要說出一大堆然後又沒有重點,那樣的話其實沒有任何意義,關於這個點的問題,我就舉幾個例子 第乙個是 struts 的工作流 注 首先說為什麼我要突出這幾個點呢,因為別人問你struts的工作流,你不用非要說到 級別的,但是你起碼要告訴別人,你是知道核心過濾器,也是...