Tôi muốn có thể làm tròn bất kỳ Instant nào cho Thời gian gần nhất thành nhóm hỗ trợ dữ liệu.Làm cách nào để làm tròn một DateTime thành Khoảng thời gian gần nhất
tức là ai đó có thể muốn nhóm theo khoảng thời gian 2 tuần, do đó, hãy cho một số Instant, tôi muốn có thể tìm ra ngay tức thì (trước hoặc sau) trên ranh giới thời gian mà "bây giờ" được coi là kết thúc của giai đoạn hiện tại. Nếu hôm nay là Thứ Ba, thì hãy xem xét rằng 2 Thời gian tuần này kết thúc tuần này. Cho bất kỳ ngày nào (từ giờ trở đi), tôi muốn muốn tính toán "Khoảng thời gian 2 tuần" mà nó phù hợp với.
// pseudo code
Period sevenDays = Days.SEVEN;
Instant nearestWeek = sevenDays.roundToNearest(new DateTime());
Period twelveHours = Hours.hours(12);
Instant nearestHalfDay = twelveHours.roundToNearest(new DateTime());
Tôi hy vọng điều đó có ý nghĩa, bất kỳ trợ giúp hoặc gợi ý nào được đánh giá cao.
Tốt, nhưng điều này chỉ hoạt động miễn là chính xác một trường của khoảng thời gian được sử dụng. Ví dụ, một khoảng thời gian 1m30s sẽ được làm tròn đến phút gần nhất. – Henning