From ac27a6f7f9136f4d06210696bf0671cf2d3df4c4 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Sat, 13 Mar 2021 21:10:33 +0800 Subject: [PATCH] fix server timezone calculation bug --- pkg/models/user.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/models/user.go b/pkg/models/user.go index ed40c2a2..9fcbb079 100644 --- a/pkg/models/user.go +++ b/pkg/models/user.go @@ -139,9 +139,9 @@ func (u *User) CanEditTransactionByTransactionTime(transactionTime int64, utcOff return transactionUnixTime >= now.Unix()-24*60*60 } - _, serverUtcOffset := now.Zone() - serverTodayFirstUnixTime := now.Unix() - int64(now.Hour()*60*60+now.Minute()*60+now.Second()) - clientTodayFirstUnixTime := serverTodayFirstUnixTime + int64(utcOffset)*60 - int64(serverUtcOffset) + clientLocation := time.FixedZone("Client Timezone", int(utcOffset)*60) + clientNow := now.In(clientLocation) + clientTodayFirstUnixTime := clientNow.Unix() - int64(clientNow.Hour()*60*60+clientNow.Minute()*60+clientNow.Second()) if u.TransactionEditScope == TRANSACTION_EDIT_SCOPE_TODAY_OR_LATER { return transactionUnixTime >= clientTodayFirstUnixTime