gtime_sql.go 593 B

12345678910111213141516171819202122232425262728
  1. package gtime
  2. import (
  3. "database/sql/driver"
  4. )
  5. // Scanner is an interface used by Scan in package database/sql for Scanning value
  6. // from database to local golang variable.
  7. func (t *Time) Scan(value interface{}) error {
  8. if t == nil {
  9. return nil
  10. }
  11. newTime := New(value)
  12. *t = *newTime
  13. return nil
  14. }
  15. // Value is the interface providing the Value method for package database/sql/driver
  16. // for retrieving value from golang variable to database.
  17. func (t *Time) Value() (driver.Value, error) {
  18. if t == nil {
  19. return nil, nil
  20. }
  21. if t.IsZero() {
  22. return nil, nil
  23. }
  24. return t.Time, nil
  25. }