summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlluuu <22728104+Alluuu@users.noreply.github.com>2021-06-04 18:06:58 +0300
committerGitHub <noreply@github.com>2021-06-04 23:06:58 +0800
commit58f9287559b26ec44a9a68c4351efa88327be51d (patch)
treec7caf1e287d7929faddc61529ef601ac2385833c
parent31d88a26241c32add01deff37ccc69cfe9efd03b (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.go7
-rw-r--r--date_test.go2
-rw-r--r--excelize_test.go2
-rw-r--r--stream_test.go2
4 files changed, 3 insertions, 10 deletions
diff --git a/date.go b/date.go
index 9ef5caf..0531b6c 100644
--- a/date.go
+++ b/date.go
@@ -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)