以毫秒爲單位計算的日期代碼是:爲什麼Java的Date.getTime()返回1月份的錯誤響應?
//installment date converted to milliseconds
long localDateInstall = installDate.getTime();
//installment date converted to milliseconds
long localDatePay = payDate.getTime();
這裏我計算天的這些日期間數:
days=Math.abs((localDatePay - localDateInstall))/86400000;
當我想測試它,我進入1/Jan/2012
爲localDateInstall
1/Feb/2012
爲localDatePay
。結果是:29天。問題是什麼?由於
在您用來將這些日期映射到時間點的時區中,您可能會在1月1日到2月1日之間調整夏令時間嗎?換句話說,2012年1月的那個時區的任何一天都不是24小時? –
http://stackoverflow.com/a/3300078/20394顯示如何使用喬達時間來獲取兩個日期之間的日子。 –
'getTime()'只給你UTC的時間戳[here](http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#getTime()) –