diff options
author | Alluuu <22728104+Alluuu@users.noreply.github.com> | 2021-06-04 18:06:58 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-04 23:06:58 +0800 |
commit | 58f9287559b26ec44a9a68c4351efa88327be51d (patch) | |
tree | c7caf1e287d7929faddc61529ef601ac2385833c | |
parent | 31d88a26241c32add01deff37ccc69cfe9efd03b (diff) |
This closes #409 Remove UTC timezone requirement from date.go (#853)
According to issue #409
There is absolutely no reason for the timezone to be in UTC, and converting the local times to UTC while keeping values is hacky at least.
Excel has no understanding of timezones, hence the user of this library should know what timezone their values are supposed to be, by following the timezone within their timeTime structs.
-rw-r--r-- | date.go | 7 | ||||
-rw-r--r-- | date_test.go | 2 | ||||
-rw-r--r-- | excelize_test.go | 2 | ||||
-rw-r--r-- | stream_test.go | 2 |
4 files changed, 3 insertions, 10 deletions
@@ -30,13 +30,6 @@ var ( func timeToExcelTime(t time.Time) (float64, error) { // TODO in future this should probably also handle date1904 and like TimeFromExcelTime - // Force user to explicit convet passed value to UTC time. - // Because for example 1900-01-01 00:00:00 +0300 MSK converts to 1900-01-01 00:00:00 +0230 LMT - // probably due to daylight saving. - if t.Location() != time.UTC { - return 0.0, ErrToExcelTime - } - if t.Before(excelMinTime1900) { return 0.0, nil } diff --git a/date_test.go b/date_test.go index ecc96ba..38898b0 100644 --- a/date_test.go +++ b/date_test.go @@ -55,7 +55,7 @@ func TestTimeToExcelTime_Timezone(t *testing.T) { for i, test := range trueExpectedDateList { t.Run(fmt.Sprintf("TestData%d", i+1), func(t *testing.T) { _, err := timeToExcelTime(test.GoValue.In(location)) - assert.EqualError(t, err, ErrToExcelTime.Error()) + assert.NoError(t, err) }) } } diff --git a/excelize_test.go b/excelize_test.go index 0c42178..ba7b528 100644 --- a/excelize_test.go +++ b/excelize_test.go @@ -144,7 +144,7 @@ func TestOpenFile(t *testing.T) { assert.NoError(t, f.SetCellValue("Sheet2", "G2", nil)) - assert.EqualError(t, f.SetCellValue("Sheet2", "G4", time.Now()), ErrToExcelTime.Error()) + assert.NoError(t, f.SetCellValue("Sheet2", "G4", time.Now())) assert.NoError(t, f.SetCellValue("Sheet2", "G4", time.Now().UTC())) // 02:46:40 diff --git a/stream_test.go b/stream_test.go index 391c99d..cf133f1 100644 --- a/stream_test.go +++ b/stream_test.go @@ -57,7 +57,7 @@ func TestStreamWriter(t *testing.T) { assert.NoError(t, err) assert.NoError(t, streamWriter.SetRow("A4", []interface{}{Cell{StyleID: styleID}, Cell{Formula: "SUM(A10,B10)"}})) assert.NoError(t, streamWriter.SetRow("A5", []interface{}{&Cell{StyleID: styleID, Value: "cell"}, &Cell{Formula: "SUM(A10,B10)"}})) - assert.EqualError(t, streamWriter.SetRow("A6", []interface{}{time.Now()}), ErrToExcelTime.Error()) + assert.NoError(t, streamWriter.SetRow("A6", []interface{}{time.Now()})) for rowID := 10; rowID <= 51200; rowID++ { row := make([]interface{}, 50) |