mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-01 05:36:19 +01:00
Check for zero time instant in TimeStamp.IsZero()
(#22171)
- Currently, the 'IsZero' function for 'TimeStamp' just checks if the unix time is zero, which is not the behavior of 'Time.IsZero()', but Gitea is using this method in accordance with the behavior of 'Time.IsZero()'. - Adds a new condition to check for the zero time instant. - Fixes a bug where non-expiring GPG keys where shown as they expired on Jan 01, 0001. - Related https://codeberg.org/Codeberg/Community/issues/791 Before: ![image](https://user-images.githubusercontent.com/25481501/208509035-ecc5fa4a-3bd1-4fa3-beba-90875719163c.png) After: ![image](https://user-images.githubusercontent.com/25481501/208508950-3e7f6eeb-be83-432a-89a6-d738553dafe4.png)
This commit is contained in:
parent
2774671584
commit
40ba750c4b
1 changed files with 8 additions and 3 deletions
|
@ -12,8 +12,13 @@ import (
|
||||||
// TimeStamp defines a timestamp
|
// TimeStamp defines a timestamp
|
||||||
type TimeStamp int64
|
type TimeStamp int64
|
||||||
|
|
||||||
// mock is NOT concurrency-safe!!
|
var (
|
||||||
var mock time.Time
|
// mock is NOT concurrency-safe!!
|
||||||
|
mock time.Time
|
||||||
|
|
||||||
|
// Used for IsZero, to check if timestamp is the zero time instant.
|
||||||
|
timeZeroUnix = time.Time{}.Unix()
|
||||||
|
)
|
||||||
|
|
||||||
// Set sets the time to a mocked time.Time
|
// Set sets the time to a mocked time.Time
|
||||||
func Set(now time.Time) {
|
func Set(now time.Time) {
|
||||||
|
@ -102,5 +107,5 @@ func (ts TimeStamp) FormatDate() string {
|
||||||
|
|
||||||
// IsZero is zero time
|
// IsZero is zero time
|
||||||
func (ts TimeStamp) IsZero() bool {
|
func (ts TimeStamp) IsZero() bool {
|
||||||
return int64(ts) == 0
|
return int64(ts) == 0 || int64(ts) == timeZeroUnix
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue