|
|
- package grmi
-
- import (
- "encoding/json"
- "fmt"
- "time"
- )
-
- type DateTime time.Time
-
- func (self DateTime) MarshalJSON() ([]byte, error) {
- return []byte(fmt.Sprintf("\"%s\"", time.Time(self).Format(URLDateTimeFormat))), nil
- }
-
- func (self *DateTime) UnmarshalJSON(data []byte) error {
- var jsonString string
- err := json.Unmarshal(data, &jsonString)
- if err != nil {
- return err
- }
- result, err := time.Parse(URLDateTimeFormat, jsonString)
- if err != nil {
- return err
- }
- *self = DateTime(result)
- return nil
- }
|