儘管您的IDE有什麼要說的,但使用舊的java.util.Date
方法並不是那麼糟糕。在常規Java代碼中,是的,請使用Calendar
類,但出於歷史原因,請考慮不要使用這些「已棄用」方法。
曾幾何時,Java是最酷的孩子 - 很奇怪,對吧?網絡瀏覽器沒有這樣的語言,有人說:「嘿,讓他們給我一種腳本語言,但把它叫做什麼,我不知道,很酷!」因此,我們給了JavaScript - 更多的是一種類似於Lisp的語言,但不用介意。
一些API是借來的,比如Date對象。然後,Java決定它可以處理的日期和時間以及時區更好,不贊成這些功能,如setHours
,並轉移到我們今天所知和所愛的Calendar,JodaTime等明亮(令人困惑)的未來。
瀏覽器雖然有JavaScript,並且找到了自己的方式,並繼續使用這些方法。有JavaScript庫可以幫助處理日期,但在瀏覽器運行時,Date對象仍然看起來像舊的java.util.Date
。
因此,在GWT中,用Java編寫你喜歡的地方,但要記住你是在一個Web瀏覽器中 - 底層語言恰好具有使用這些不推薦使用的方法的本地功能 - 而且它們不會去任何地方。同樣,儘管Object.wait()
和notify()
是合法的,但不能使用它們,也不會調用finalize()
--這些只是使用Java組織和維護庫或應用程序時需要記住的事情,並且編譯爲使用JavaScript在網頁瀏覽器中運行。
那麼,無論你使用這個棄用的方法,或者你使用日曆,或者你使用其他日期時間庫,如喬達時間。 –
@Jakub GWT中沒有日曆或Joda。 –
是否嘗試過Calendar.set(Calendar.HOUR_OF_DAY,int小時)而不是date.sethours –