blob: b7dc3d21c939b73f1c0932cdbc1dd7e00486e980 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
package model
import (
"time"
"errors"
sqldriver "database/sql/driver"
)
type Time time.Time
func MakeTimeNow() Time {
return Time(time.Now().UTC())
}
func (self Time) String() string {
return time.Time(self).String()
}
func (self Time) Value() (sqldriver.Value, error) {
return time.Time(self).Format(time.RFC3339), nil
}
func (self *Time) Scan(value any) error {
if valueStr, ok := value.(string); ok {
parsedTime, err := time.Parse(time.RFC3339, valueStr)
if err == nil {
*self = Time(parsedTime.UTC())
}
return err
} else {
return errors.New("Expected a string")
}
}
|