summaryrefslogtreecommitdiff
path: root/date_test.go
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2021-10-12 00:01:11 +0800
committerxuri <xuri.me@gmail.com>2021-10-12 00:01:11 +0800
commit58fd279dc845ebd9ccd4ba336d7c664824e70e43 (patch)
treedc0954191e49981afff1e260a66cacb2067c5e67 /date_test.go
parentaa8f6f02bdf933df6cffec6b408276d02ed9e6b0 (diff)
This closes #1030, fix date rounding error
Diffstat (limited to 'date_test.go')
-rw-r--r--date_test.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/date_test.go b/date_test.go
index 2addc4a..cc516d5 100644
--- a/date_test.go
+++ b/date_test.go
@@ -33,6 +33,7 @@ var excelTimeInputList = []dateTest{
{60.0, time.Date(1900, 2, 28, 0, 0, 0, 0, time.UTC)},
{61.0, time.Date(1900, 3, 1, 0, 0, 0, 0, time.UTC)},
{41275.0, time.Date(2013, 1, 1, 0, 0, 0, 0, time.UTC)},
+ {44450.3333333333, time.Date(2021, time.September, 11, 8, 0, 0, 0, time.UTC)},
{401769.0, time.Date(3000, 1, 1, 0, 0, 0, 0, time.UTC)},
}
@@ -66,6 +67,19 @@ func TestTimeFromExcelTime(t *testing.T) {
assert.Equal(t, test.GoValue, timeFromExcelTime(test.ExcelValue, false))
})
}
+ for hour := 0; hour < 24; hour++ {
+ for min := 0; min < 60; min++ {
+ for sec := 0; sec < 60; sec++ {
+ date := time.Date(2021, time.December, 30, hour, min, sec, 0, time.UTC)
+ excelTime, err := timeToExcelTime(date)
+ assert.NoError(t, err)
+ dateOut := timeFromExcelTime(excelTime, false)
+ assert.EqualValues(t, hour, dateOut.Hour())
+ assert.EqualValues(t, min, dateOut.Minute())
+ assert.EqualValues(t, sec, dateOut.Second())
+ }
+ }
+ }
}
func TestTimeFromExcelTime_1904(t *testing.T) {