Documentation
¶
Index ¶
- type DBTime
- func (d DBTime) Equal(other DBTime) bool
- func (d DBTime) EqualTime(t time.Time) bool
- func (d DBTime) IsZero() bool
- func (d DBTime) MarshalJSON() ([]byte, error)
- func (d *DBTime) Scan(value any) error
- func (d DBTime) String() string
- func (d DBTime) Time() time.Time
- func (d DBTime) UTC() time.Time
- func (d *DBTime) UnmarshalJSON(data []byte) error
- func (d DBTime) Value() (driver.Value, error)
- type ZonedTime
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DBTime ¶
type DBTime struct {
// contains filtered or unexported fields
}
DBTime es un tipo de persistencia temporal que garantiza UTC limpio sin reloj monotónico. Diseño deliberadamente restrictivo: NO embebe time.Time para evitar exponer métodos peligrosos como Local(), Add(), AddDate() que pueden corromper la invariante UTC de la BD.
func NewDBTime ¶
NewDBTime crea una instancia de DBTime normalizada a UTC absoluto sin reloj monotónico.
func (DBTime) MarshalJSON ¶
MarshalJSON implementa json.Marshaler formateando en RFC3339Nano UTC (preserva nanosegundos).
func (*DBTime) Scan ¶
Scan implementa sql.Scanner para leer valores de la base de datos de forma segura.
func (DBTime) Time ¶
Time retorna el time.Time subyacente en UTC. Es el único punto de acceso controlado.
func (DBTime) UTC ¶
UTC retorna el instante en UTC (equivalente a Time(), para compatibilidad con time.Time).
func (*DBTime) UnmarshalJSON ¶
UnmarshalJSON implementa json.Unmarshaler aceptando cadenas ISO 8601 / RFC 3339 o null.
type ZonedTime ¶
ZonedTime preserva tanto el instante UTC como la zona IANA de origen para calendarios y eventos futuros. Patrón 2 de persistencia: almacena el instante universal Y la intención local original.
func NewZonedTime ¶
NewZonedTime crea una instancia de ZonedTime normalizada.
func (ZonedTime) Local ¶
Local devuelve la fecha recalculada en la zona de origen según las reglas vigentes.