Format
This commit is contained in:
@ -1,42 +1,41 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
sqldriver "database/sql/driver"
|
||||
"errors"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Time time.Time
|
||||
|
||||
func MakeTimeNow() Time {
|
||||
return Time(time.Now().UTC())
|
||||
}
|
||||
|
||||
func (self Time) AsUTCString() string {
|
||||
return time.Time(self).Format(time.RFC3339)
|
||||
}
|
||||
|
||||
func (self Time) Value() (sqldriver.Value, error) {
|
||||
return self.AsUTCString(), 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")
|
||||
}
|
||||
}
|
||||
|
||||
func (from Time) Compare(to Time) int {
|
||||
return time.Time(from).Compare(time.Time(to))
|
||||
}
|
||||
|
||||
func (self *Time) Add(duration time.Duration) {
|
||||
*self = Time(time.Time(*self).Add(duration))
|
||||
}
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
sqldriver "database/sql/driver"
|
||||
"errors"
|
||||
"time"
|
||||
)
|
||||
|
||||
type Time time.Time
|
||||
|
||||
func MakeTimeNow() Time {
|
||||
return Time(time.Now().UTC())
|
||||
}
|
||||
|
||||
func (self Time) AsUTCString() string {
|
||||
return time.Time(self).Format(time.RFC3339)
|
||||
}
|
||||
|
||||
func (self Time) Value() (sqldriver.Value, error) {
|
||||
return self.AsUTCString(), 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")
|
||||
}
|
||||
}
|
||||
|
||||
func (from Time) Compare(to Time) int {
|
||||
return time.Time(from).Compare(time.Time(to))
|
||||
}
|
||||
|
||||
func (self *Time) Add(duration time.Duration) {
|
||||
*self = Time(time.Time(*self).Add(duration))
|
||||
}
|
||||
|
@ -1,12 +1,12 @@
|
||||
package model
|
||||
|
||||
type Timer struct {
|
||||
Id UUID
|
||||
Name string
|
||||
StartTime Time
|
||||
EndTime Time
|
||||
}
|
||||
|
||||
func (self Timer) IsFinished() bool {
|
||||
return MakeTimeNow().Compare(self.EndTime) >= 0
|
||||
}
|
||||
package model
|
||||
|
||||
type Timer struct {
|
||||
Id UUID
|
||||
Name string
|
||||
StartTime Time
|
||||
EndTime Time
|
||||
}
|
||||
|
||||
func (self Timer) IsFinished() bool {
|
||||
return MakeTimeNow().Compare(self.EndTime) >= 0
|
||||
}
|
||||
|
Reference in New Issue
Block a user