Chúng tôi đang sử dụng Lịch. roll để di chuyển ngày lên hoặc xuống. Javadoc đề cập rằng các trường lớn hơn không được sửa đổi (tức là nếu chúng ta di chuyển ngày bằng 5 sang trái bắt đầu vào ngày đầu tiên của tháng, thật không may là calendar.getTime() không cho tôi một giá trị từ tháng trước) . Giá trị tháng vẫn không thay đổi, làm cách nào để thay đổi hành vi này. Tôi thực sự muốn di chuyển giá trị ngày thích hợp. (ví dụ: Nếu tôi chuyển 5 ngày sang trái vào ngày 1 tháng 8 năm 2010 - Tôi muốn xem ngày 27 tháng 6 năm 2010 thay vì ngày 27 tháng 8 năm 2010). Tôi đang thiếu gì ở đây?Hoạt động cuộn lịch không cung cấp cho tôi kết quả chính xác
Trả lời
Bạn có thể sử dụng Calendar.add
với số âm amount
.
Bạn cần sử dụng add(Calendar.DATE, -5)
method from Calendar
vì kiểm tra quy tắc cuộn.
roll
phương pháp được mô tả như sau:
Thêm vào
field
một lượng ký kết mà không thay đổi lĩnh vực lớn hơn. Số tiền âm âm có nghĩa là trừ từ trường mà không thay đổi trường lớn hơn.Ví dụ: Xem xét một
GregorianCalendar
ban đầu thiết lập đến tháng 31, 1999. Callingroll(Calendar.MONTH, 8)
bộ lịch đến tháng 30, 1999. Sử dụng một GregorianCalendar, lĩnh vựcDAY_OF_MONTH
không thể 31 trong tháng tháng tư.DAY_OF_MONTH
được đặt thành giá trị gần nhất , 30. TrườngYEAR
duy trì giá trị năm 1999 vì nó là trường lớn hơnMONTH
.Ví dụ: Xem xét một
GregorianCalendar
ban đầu thiết lập đến Chủ Nhật ngày 06 tháng 6, 1999. Callingroll(Calendar.WEEK_OF_MONTH, -1)
bộ lịch để thứ Ba ngày 01 Tháng 6 năm 1999, trong khi kêu gọiadd(Calendar.WEEK_OF_MONTH, -1)
bộ lịch đến chủ nhật 30 tháng 5, năm 1999. Đây là vì quy tắc cuộn áp đặt một hạn chế bổ sung:MONTH
không được thay đổi khiWEEK_OF_MONTH
được cuộn. Gộp chung với add quy tắc 1, ngày kết quả phải giữa Thứ Ba 01 Tháng Sáu và thứ Bảy Tháng sáu 5. Theo thêm quy tắc 2,DAY_OF_WEEK
, một bất biến khi thay đổiWEEK_OF_MONTH
, được thiết lập để Thứ ba, gần nhất giá trị có thể là Chủ nhật (trong đó Chủ Nhật là ngày đầu tiên trong tuần).
- 1. qTranslate cho Wordpress không tự động cung cấp cho tôi ngôn ngữ chính xác
- 2. Double.Parse không cho kết quả chính xác
- 3. android: smoothScrollToPosition() không hoạt động chính xác
- 4. System.Environment.Version cung cấp một giá trị không chính xác
- 5. Amazon S3 không cung cấp tệp chính xác
- 6. Tổng hai NSInteger cho kết quả không chính xác
- 7. chia Android không hoạt động chính xác
- 8. MockDomain gọi cung cấp dữ liệu miền lịch thi đấu không hoạt động, tôi đang thiếu gì? Grails 2.0.1
- 9. Trình tải cung cấp kết quả sai phân đoạn
- 10. List.Contains không hoạt động chính xác
- 11. Cách tiếp cận của tôi là cung cấp quyền truy cập cho người dùng chính xác?
- 12. Linux: ntohl không hoạt động chính xác
- 13. android camera: Không cung cấp kết quả ResultInfo {who = null, request = 0, result = -1, data = null} đến hoạt động
- 14. Cung cấp vỏ âm đạo không hoạt động
- 15. API lịch Android và API nhà cung cấp lịch
- 16. String.Đặt lại không hoạt động chính xác
- 17. Nhà cung cấp không xác định CookieStore
- 18. Android: Location.distanceĐể không hoạt động chính xác?
- 19. SQL injection không hoạt động chính xác
- 20. OSX FSEventStreamEventFlags không hoạt động chính xác
- 21. Không có kết quả xác định cho các hành động và kết quả đầu vào
- 22. Android EasyTracker không hoạt động chính xác?
- 23. chia không hoạt động chính xác
- 24. Microsoft.Office.Interop.Outlook.Items.Restrict - không hoạt động chính xác
- 25. Truy vấn LINQ trả về kết quả không chính xác
- 26. Tại sao lớp này hoạt động khác khi tôi không cung cấp loại chung?
- 27. Câu lệnh SQL LIKE sử dụng ký tự unicode không hiển thị kết quả chính xác
- 28. Lịch Extender không hiển thị chính xác
- 29. Chức năng cửa sổ Last_value không hoạt động chính xác
- 30. php thuật toán md5 cung cấp cho kết quả tương tự như C#