...

Source file src/github.com/LINBIT/golinstor/client/timestamp.go

Documentation: github.com/LINBIT/golinstor/client

     1  package client
     2  
     3  import (
     4  	"encoding/json"
     5  	"net/url"
     6  	"strconv"
     7  	"time"
     8  )
     9  
    10  type TimeStampMs struct {
    11  	time.Time
    12  }
    13  
    14  func (t *TimeStampMs) UnmarshalJSON(s []byte) (err error) {
    15  	r := string(s)
    16  	q, err := strconv.ParseInt(r, 10, 64)
    17  	if err != nil {
    18  		return err
    19  	}
    20  	t.Time = time.Unix(q/1000, (q%1000)*1_000_000)
    21  	return nil
    22  }
    23  
    24  func (t TimeStampMs) MarshalJSON() ([]byte, error) {
    25  	return json.Marshal(t.Time.Unix() * 1000)
    26  }
    27  
    28  func (t TimeStampMs) EncodeValues(key string, v *url.Values) error {
    29  	v.Add(key, t.Format("20060102_150405"))
    30  	return nil
    31  }
    32  

View as plain text