From daaa4564bbc6223f4eb61037bb3f5db94d4f09d0 Mon Sep 17 00:00:00 2001 From: Matt Baer Date: Sat, 8 Dec 2018 12:51:27 -0500 Subject: [PATCH] Fix post `created` date in SQLite We store times in UTC in all other places, but the post.Created logic when creating a post meant that dates were being stored in a user's local timezone. This fixes that. Ref T529 --- database.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/database.go b/database.go index 8c6d8f9..531111c 100644 --- a/database.go +++ b/database.go @@ -574,11 +574,19 @@ func (db *datastore) CreatePost(userID, collID int64, post *SubmittedPost) (*Pos } created := time.Now() + if db.driverName == driverSQLite { + // SQLite stores datetimes in UTC, so convert time.Now() to it here + created = created.UTC() + } if post.Created != nil { created, err = time.Parse("2006-01-02T15:04:05Z", *post.Created) if err != nil { log.Error("Unable to parse Created time '%s': %v", *post.Created, err) created = time.Now() + if db.driverName == driverSQLite { + // SQLite stores datetimes in UTC, so convert time.Now() to it here + created = created.UTC() + } } }