mirror of https://github.com/mattn/go-sqlite3.git
Don't convert Unix times to nanoseconds when querying datetime fields. Fixes #430.
This commit is contained in:
parent
afe454f622
commit
05123859be
|
@ -961,10 +961,11 @@ func (rc *SQLiteRows) Next(dest []driver.Value) error {
|
|||
// large to be a reasonable timestamp in seconds.
|
||||
if val > 1e12 || val < -1e12 {
|
||||
val *= int64(time.Millisecond) // convert ms to nsec
|
||||
t = time.Unix(0, val)
|
||||
} else {
|
||||
val *= int64(time.Second) // convert sec to nsec
|
||||
t = time.Unix(val, 0)
|
||||
}
|
||||
t = time.Unix(0, val).UTC()
|
||||
t = t.UTC()
|
||||
if rc.s.c.loc != nil {
|
||||
t = t.In(rc.s.c.loc)
|
||||
}
|
||||
|
|
|
@ -403,6 +403,7 @@ func TestTimestamp(t *testing.T) {
|
|||
}{
|
||||
{"nonsense", time.Time{}},
|
||||
{"0000-00-00 00:00:00", time.Time{}},
|
||||
{time.Time{}.Unix(), time.Time{}},
|
||||
{timestamp1, timestamp1},
|
||||
{timestamp2.Unix(), timestamp2.Truncate(time.Second)},
|
||||
{timestamp2.UnixNano() / int64(time.Millisecond), timestamp2.Truncate(time.Millisecond)},
|
||||
|
|
Loading…
Reference in New Issue