-4
我從網上覆制了代碼來計算兩個日期之間的天數。它往往產生不正確的結果。例如,01/15/2008和03/15/2010之間的日期爲790.代碼返回789. 2013年12月30日至2017年2月28日期間的日期爲1156.代碼返回1152.錯誤由於代碼或日曆類?我正在複製下面的代碼。這是我的第一篇文章,我對任何協議錯誤表示歉意。 謝謝, 尼克Java日曆類
import java.util.Calendar;
public class DateExperiment2
{
public static void main(String args[]) throws Exception
{
// Create Calendar instances
Calendar calendar1 = Calendar.getInstance();
Calendar calendar2 = Calendar.getInstance();
// Set the values for the calendar fields YEAR, MONTH, and DAY_OF_MONTH.
calendar1.set(2008, 1, 15);
calendar2.set(2010, 3, 15);
//Get Calendars' time value in milliseconds
long miliSecondForDate1 = calendar1.getTimeInMillis();
long miliSecondForDate2 = calendar2.getTimeInMillis();
// Calculate the difference in millisecond between two dates
long diffInMilis = miliSecondForDate1 - miliSecondForDate2;
//Convert milliseconds to days
long diffInDays = diffInMilis/(24 * 60 * 60 * 1000);
System.out.println(diffInDays);
}
}
請減少此選項到[mcve]。不需要Swing UI或'isValidDateStr',或者變量a-f - 只需對「set」的調用進行硬編碼。作爲一個單獨的問題,你真的需要使用'java.util.Calendar'嗎?我強烈建議使用'java.time.LocalDate'代替它。 –
謝謝。這是我的第一篇文章。將來我會使用你的指導方針。但是,問題依然存在。 Calendar類是否返回不正確的結果? – Nick
有沒有必要等待下一個問題。你應該編輯一個好的形狀 - 這將使它更容易幫助你,以及它對未來的讀者更有用。 –