Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "encoding/json"
- "fmt"
- "strings"
- "time"
- )
- const TimeLayout = "2006-01-02T15:04:05"
- type Time time.Time
- func (t *Time) MarshalJSON() ([]byte, error) {
- tt := time.Time(*t)
- str := tt.Format(TimeLayout)
- return []byte(str), nil
- }
- func (t *Time) UnmarshalJSON(b []byte) error {
- str := string(b)
- str = strings.Trim(str, "\"")
- tt, err := time.Parse(TimeLayout, str)
- if err != nil {
- return err
- }
- *t = Time(tt)
- return nil
- }
- type Lol struct {
- DT *Time `json:"dt"`
- }
- func main() {
- dt := &Lol{}
- err := json.Unmarshal([]byte("{\"dt\": \"1968-07-16T00:00:00\"}"), dt)
- if err != nil {
- fmt.Println(err)
- return
- }
- fmt.Println(time.Time(*dt.DT))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement