forked from go-fed/activity
-
Notifications
You must be signed in to change notification settings - Fork 1
/
gen_dateTime.go
39 lines (34 loc) · 1.06 KB
/
gen_dateTime.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// Code generated by astool. DO NOT EDIT.
package datetime
import (
"fmt"
"time"
)
// SerializeDateTime converts a dateTime value to an interface representation
// suitable for marshalling into a text or binary format.
func SerializeDateTime(this time.Time) (interface{}, error) {
return this.Format(time.RFC3339), nil
}
// DeserializeDateTime creates dateTime value from an interface representation
// that has been unmarshalled from a text or binary format.
func DeserializeDateTime(this interface{}) (time.Time, error) {
var tmp time.Time
var err error
if s, ok := this.(string); ok {
tmp, err = time.Parse(time.RFC3339, s)
if err != nil {
tmp, err = time.Parse("2006-01-02T15:04Z07:00", s)
if err != nil {
err = fmt.Errorf("%v cannot be interpreted as xsd:datetime", this)
}
}
} else {
err = fmt.Errorf("%v cannot be interpreted as a string for xsd:datetime", this)
}
return tmp, err
}
// LessDateTime returns true if the left dateTime value is less than the right
// value.
func LessDateTime(lhs, rhs time.Time) bool {
return lhs.Before(rhs)
}