Skip to content
Snippets Groups Projects
Unverified Commit 37f023f4 authored by bRong Njam's avatar bRong Njam Committed by GitHub
Browse files

Fix wrong timezone testcases (#4585)

parent 72152d91
No related branches found
No related tags found
No related merge requests found
......@@ -203,10 +203,6 @@ func FromUnix(loc *time.Location, ts int64) Datetime {
return Datetime((ts+int64(offset))*microSecsPerSec + unixEpoch)
}
func UnixToTimestamp(ts int64) Timestamp {
return Timestamp(ts*microSecsPerSec + unixEpoch)
}
func Now(loc *time.Location) Datetime {
now := time.Now().In(loc)
_, offset := now.Zone()
......
......@@ -184,12 +184,18 @@ func TimestampToDatetime(loc *time.Location, xs []Timestamp, rs []Datetime) ([]D
}
// FromClockUTC gets the utc time value in Timestamp
func FromClockUTC(year int32, month, day, hour, min, sec uint8, msec uint32) Timestamp {
func FromClockUTC(year int32, month, day, hour, minute, sec uint8, msec uint32) Timestamp {
days := FromCalendar(year, month, day)
secs := int64(days)*secsPerDay + int64(hour)*secsPerHour + int64(min)*secsPerMinute + int64(sec)
secs := int64(days)*secsPerDay + int64(hour)*secsPerHour + int64(minute)*secsPerMinute + int64(sec)
return Timestamp(secs*microSecsPerSec + int64(msec))
}
// FromClockZone gets the local time value in Timestamp
func FromClockZone(loc *time.Location, year int32, month, day, hour, minute, sec uint8, msec uint32) Timestamp {
t := time.Date(int(year), time.Month(month), int(day), int(hour), int(minute), int(sec), int(msec*1000), loc)
return Timestamp(t.UnixMicro() + unixEpoch)
}
func CurrentTimestamp() Timestamp {
return Timestamp(time.Now().UnixMicro() + unixEpoch)
}
......@@ -197,3 +203,11 @@ func CurrentTimestamp() Timestamp {
func ValidTimestamp(timestamp Timestamp) bool {
return timestamp > TimestampMinValue
}
func UnixToTimestamp(ts int64) Timestamp {
return Timestamp(ts*microSecsPerSec + unixEpoch)
}
func UnixMicroToTimestamp(ts int64) Timestamp {
return Timestamp(ts + unixEpoch)
}
......@@ -16,6 +16,7 @@ package unary
import (
"testing"
"time"
"github.com/matrixorigin/matrixone/pkg/container/nulls"
"github.com/matrixorigin/matrixone/pkg/container/types"
......@@ -36,7 +37,7 @@ func TestDateToTimestamp(t *testing.T) {
name: "TEST01",
vecs: makeDateToTimestampVectors("2022-01-01", true),
proc: testutil.NewProc(),
want: []types.Timestamp{types.FromClockUTC(2022, 1, 1, 0, 0, 0, 0)},
want: []types.Timestamp{types.FromClockZone(time.Local, 2022, 1, 1, 0, 0, 0, 0)},
},
}
......@@ -63,7 +64,7 @@ func TestDatetimeToTimestamp(t *testing.T) {
name: "TEST01",
vecs: makeDatetimeToTimestampVectors("2022-01-01 00:00:00", true),
proc: testutil.NewProc(),
want: []types.Timestamp{types.FromClockUTC(2022, 1, 1, 0, 0, 0, 0)},
want: []types.Timestamp{types.FromClockZone(time.Local, 2022, 1, 1, 0, 0, 0, 0)},
},
}
......@@ -91,14 +92,14 @@ func TestDateStringAdd(t *testing.T) {
name: "TEST01",
vecs: makeDateStringToTimestampVectors("2022-01-01", true),
proc: testutil.NewProc(),
want: []types.Timestamp{types.FromClockUTC(2022, 1, 1, 0, 0, 0, 0)},
want: []types.Timestamp{types.FromClockZone(time.Local, 2022, 1, 1, 0, 0, 0, 0)},
contain: false,
},
{
name: "TEST02",
vecs: makeDateStringToTimestampVectors("2022-01-01 00:00:00", true),
proc: testutil.NewProc(),
want: []types.Timestamp{types.FromClockUTC(2022, 1, 1, 0, 0, 0, 0)},
want: []types.Timestamp{types.FromClockZone(time.Local, 2022, 1, 1, 0, 0, 0, 0)},
contain: false,
},
{
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment