Skip to content

Commit

Permalink
days -1
Browse files Browse the repository at this point in the history
  • Loading branch information
nimoc committed Jul 30, 2024
1 parent 2ebe6ed commit 0ae01a0
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 20 deletions.
2 changes: 1 addition & 1 deletion time.go
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ func SplitRange(days uint, r DateRange) (splitRanges []DateRange) {
}
slow := r.Begin
for {
itemEnd := slow.AddDate(0, 0, int(days))
itemEnd := slow.AddDate(0, 0, int(days-1))
if itemEnd.Before(r.End) {
splitRanges = append(splitRanges, DateRange{slow, itemEnd})
slow = itemEnd.AddDate(0, 0, 1)
Expand Down
45 changes: 26 additions & 19 deletions time_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -576,18 +576,20 @@ func TestSplitRange(t *testing.T) {
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2000, 1, 3),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 2)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 1)},
{xtime.NewDate(2000, 1, 2), xtime.NewDate(2000, 1, 2)},
{xtime.NewDate(2000, 1, 3), xtime.NewDate(2000, 1, 3)},
},
nil,
},
{
"1 3",
0,
1,
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2000, 1, 3),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 2)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 1)},
{xtime.NewDate(2000, 1, 2), xtime.NewDate(2000, 1, 2)},
{xtime.NewDate(2000, 1, 3), xtime.NewDate(2000, 1, 3)},
},
nil,
Expand All @@ -598,7 +600,8 @@ func TestSplitRange(t *testing.T) {
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2000, 1, 3),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 3)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 2)},
{xtime.NewDate(2000, 1, 3), xtime.NewDate(2000, 1, 3)},
},
nil,
},
Expand Down Expand Up @@ -628,8 +631,9 @@ func TestSplitRange(t *testing.T) {
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2000, 1, 6),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 3)},
{xtime.NewDate(2000, 1, 4), xtime.NewDate(2000, 1, 6)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 2)},
{xtime.NewDate(2000, 1, 3), xtime.NewDate(2000, 1, 4)},
{xtime.NewDate(2000, 1, 5), xtime.NewDate(2000, 1, 6)},
},
nil,
},
Expand All @@ -639,8 +643,9 @@ func TestSplitRange(t *testing.T) {
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2000, 1, 7),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 3)},
{xtime.NewDate(2000, 1, 4), xtime.NewDate(2000, 1, 6)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 2)},
{xtime.NewDate(2000, 1, 3), xtime.NewDate(2000, 1, 4)},
{xtime.NewDate(2000, 1, 5), xtime.NewDate(2000, 1, 6)},
{xtime.NewDate(2000, 1, 7), xtime.NewDate(2000, 1, 7)},
},
nil,
Expand All @@ -651,8 +656,9 @@ func TestSplitRange(t *testing.T) {
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2000, 1, 8),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 3)},
{xtime.NewDate(2000, 1, 4), xtime.NewDate(2000, 1, 6)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 2)},
{xtime.NewDate(2000, 1, 3), xtime.NewDate(2000, 1, 4)},
{xtime.NewDate(2000, 1, 5), xtime.NewDate(2000, 1, 6)},
{xtime.NewDate(2000, 1, 7), xtime.NewDate(2000, 1, 8)},
},
nil,
Expand All @@ -661,12 +667,13 @@ func TestSplitRange(t *testing.T) {
"跨月 10 40",
10,
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2000, 2, 8),
xtime.NewDate(2000, 2, 11),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 11)},
{xtime.NewDate(2000, 1, 12), xtime.NewDate(2000, 1, 22)},
{xtime.NewDate(2000, 1, 23), xtime.NewDate(2000, 2, 2)},
{xtime.NewDate(2000, 2, 3), xtime.NewDate(2000, 2, 8)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 1, 10)},
{xtime.NewDate(2000, 1, 11), xtime.NewDate(2000, 1, 20)},
{xtime.NewDate(2000, 1, 21), xtime.NewDate(2000, 1, 30)},
{xtime.NewDate(2000, 1, 31), xtime.NewDate(2000, 2, 9)},
{xtime.NewDate(2000, 2, 10), xtime.NewDate(2000, 2, 11)},
},
nil,
},
Expand All @@ -676,8 +683,8 @@ func TestSplitRange(t *testing.T) {
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2000, 2, 8),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 2, 3)},
{xtime.NewDate(2000, 2, 4), xtime.NewDate(2000, 2, 8)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 2, 2)},
{xtime.NewDate(2000, 2, 3), xtime.NewDate(2000, 2, 8)},
},
nil,
},
Expand All @@ -687,8 +694,8 @@ func TestSplitRange(t *testing.T) {
xtime.NewDate(2000, 1, 1),
xtime.NewDate(2001, 3, 1),
[]xtime.DateRange{
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 12, 16)},
{xtime.NewDate(2000, 12, 17), xtime.NewDate(2001, 3, 1)},
{xtime.NewDate(2000, 1, 1), xtime.NewDate(2000, 12, 15)},
{xtime.NewDate(2000, 12, 16), xtime.NewDate(2001, 3, 1)},
},
nil,
},
Expand Down

0 comments on commit 0ae01a0

Please sign in to comment.