2012-01-25 151 views

回答

5

Date表示時間(毫秒從1970年1月的第一數目)的點。不要被Date.toString()中的時區所迷惑,你總是序列化包裝在一個類中的long值。

Calendar代表日期和時間在給定時區。這意味着如果源計算機是GMT + 1格式,目標格式是GMT + 2格式,但是您發送Calendar格式設置爲GMT-6格式,則雙方格式都是GMT-6格式。

這就是說它是更安全(並使用更少的帶寬)發送Date並讓每臺電腦顯示它使用本地時區。

2

Calendar類實現了Serializable,你可以使用序列化API來保存它。 不過,我喜歡的時間戳:

當前設定的時間爲這個日曆,表示以毫秒爲單位 1970年1月1日,格林尼治標準時間0:00:00後。

我們可以通過新的Date(timestamp)簡單地反序列化時間戳,它會自動轉換爲本地時區。

日曆類也定義了時刻設定方法:

Calendar.getInstance().setTime(date) 

Calendar.getInstance().setTimeInMillis(ts)