// Copyright 2013 The go-github AUTHORS. All rights reserved.//// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.packagegithubimport("strconv""time")// Timestamp represents a time that can be unmarshalled from a JSON string// formatted as either an RFC3339 or Unix timestamp. This is necessary for some// fields since the GitHub API is inconsistent in how it represents times. All// exported methods of time.Time can be called on Timestamp.typeTimestampstruct{time.Time}func(tTimestamp)String()string{returnt.Time.String()}// UnmarshalJSON implements the json.Unmarshaler interface.// Time is expected in RFC3339 or Unix format.func(t*Timestamp)UnmarshalJSON(data[]byte)(errerror){str:=string(data)i,err:=strconv.ParseInt(str,10,64)iferr==nil{(*t).Time=time.Unix(i,0)}else{(*t).Time,err=time.Parse(`"`+time.RFC3339+`"`,str)}return}// Equal reports whether t and u are equal based on time.Equalfunc(tTimestamp)Equal(uTimestamp)bool{returnt.Time.Equal(u.Time)}