我想讓月中的某一天實際上從該字段中減去天數。從日曆中獲取自定義的月份日期
注:這一天是定製選擇,比如2012年9月10日
Date d2 = new SimpleDateFormat("yyyy-M-dd").parse("2012-10-24);
Calendar calendar= Calendar.getInstance();
Calendar csd= Calendar.getInstance();
calendar.setTime(d2);
csd.add(calendar.DAY_OF_MONTH, -5);
csd.add(calendar.get(Calendar.DAY_OF_MONTH),-5)
的上面實際上會出錯說出IllegalArgumentException
,但是當我將其系統打印出來時打印出正確的值
calendar.DAY_OF_MONTH
不會打印出在d2中的正確日期。如果我做錯了什麼,或者這不是正確的方法,我很困惑?
UPDATE
這是我在我的代碼有什麼。我想要任何日期範圍的數組。假設用戶已將結束日期設置爲"2012-8-20"
,這在d2
中。我想在一個數組中使用30天的日期值,該代碼不起作用。
for(int count = 30; count >=1; count--) {
Calendar csd = Calendar.getInstance();
csd.add(calendar.DAY_OF_MONTH, -count);
String dt = (csd.get(Calendar.YEAR)) + "-" + (csd.get(Calendar.MONTH)+1) + "-" + (csd.get(Calendar.DATE));
aDays[30 - count] = dt;
}
你可以編輯提供一個可運行的例子,說明問題,樣本輸入和預期的輸出?在哪裏/如何定義「calendarEndDate」?你爲什麼創建兩個不同的日曆?爲什麼「d1」相關? – DNA
@DNA。我剛剛複製了代碼。在這種情況下,我不使用d1,但是爲了其他目的,我在代碼中使用了它。 – user525146
csd.add(calendar.get(Calendar.DAY_OF_MONTH),-5); Calendar.DAY_OF_MONTH不是有效的參數。 – PbxMan