Theo các tiểu bang tiêu đề, tạo ra một java.util.GregorianCalendar đối tượng, chúng ta hãy nói lịch, và chạyLịch của Java.DAY_OF_WEEK_IN_MONTH giá trị tối đa là 6. Đây có phải là chính xác không?
calendar.getMaximum(Calendar.DAY_OF_WEEK_IN_MONTH)
nó trả 6! Theo hiểu biết tốt nhất của tôi, đây là 5, kể từ calendar.getMaximum(Calendar.DAY_OF_MONTH)
bằng 31 và 31/7 == 4 với phần còn lại, nghĩa là tối đa 5 tuần và do đó một ngày có thể xảy ra tối đa 5 lần trong một tháng.
Tôi có thiếu gì đó ở đây không?
Bạn có nghĩa là không có dấu hiệu cho thấy giá trị 6 sẽ cho biết tuần sau DAY_OF_WEEK_IN_MONTH 5? (theo ý nghĩa của javadocs * DAY_OF_WEEK_IN_MONTH 0 cho biết tuần trước DAY_OF_WEEK_IN_MONTH 1 *, theo ý kiến của tôi, không được viết tốt lắm) – user2435660
@ user2435660 Tôi có nghĩa là không có dấu hiệu nào cho thấy trường này sẽ được gán giá trị lớn hơn 5. Ngoài ra, nếu bạn gọi 'add (DAY_OF_WEEK_IN_MONTH, amount) ', ví dụ, nó không quan trọng giá trị tối đa là gì - nó chỉ cộng/trừ' số tiền * 7' ngày. – Mifeet