可以AO創建與當前本地日期,你需要添加一個日期加上毫秒的數量爲到期時間
import java.util.Date;
long expiremilis = 60000l; // 1 minute
// Expires in one minute from now
Date expireDate = new Date(System.currentTimeMillis() + expiremilis);
,或具有日曆相同
long expiremilis = 60000l; // 1 minute
Calendar expireDate= Calendar.getInstance();
// Expires on one minute from now
expireDate.setTimeInMillis(System.currentTimeMillis() + expiremilis);
如果使用您可以執行的現有日期對象:
import java.util.Date;
long expiremilis = 60000l; // 1 minute
// Expires on one minute from the date object date
Date expireDate = new Date(myDate.getTime() + expiremilis);
並且與現有日曆對象
long expiremilis = 60000l; // 1 minute
Calendar expireDate= Calendar.getInstance();
// Expires on one minute from the calendar date
expireDate.setTimeInMillis(myCalendar.getTimeInMillis() + expiremilis);
我在一些實現中使用calendar.getInstance(),但不得不放棄它,因爲如果Date帶有TimeZones,日曆將會打破它。 – will824 2013-12-21 21:53:40
@ will824:我完全不理解你的評論 - '日期'*從不*具有與之相關的時區。從Unix紀元開始,它總是*毫秒。 – 2013-12-22 08:45:43
@Jon其實它應該如你所說,但如果你檢查Date對象,它總是帶有某種時區。似乎Java在Date操作方面有很多問題(這就是爲什麼Joda出生的原因),這就是其中之一。這就是爲什麼我不能使用日曆來解決我的問題,而是不得不解決Joda毫米操作的原因。當然,我的問題是非常具體的,並且與從1970年1月1日通過的應該是0的總秒數有關,但由於時區,我收到了一個負數。在我的情況下使用日曆會減少1小時:( – will824 2014-01-02 23:09:32