Files
platform/web/globals/orm/timez.go

31 lines
449 B
Go

package orm
import (
"fmt"
"time"
)
type DateTime struct {
time.Time
}
func (dt *DateTime) Scan(value any) error {
switch v := value.(type) {
case time.Time:
dt.Time = v
case string:
t, err := time.Parse(time.RFC3339, v)
if err != nil {
return err
}
dt.Time = t
default:
return fmt.Errorf("unsupported type: %T", value)
}
return nil
}
func (dt DateTime) Value() (any, error) {
return dt.Time.Format(time.RFC3339), nil
}