feat(util/time) impl RFC3339Nano UTC utility Format/Parse functions
test(time) expose time format var License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
Brian Tiger Chow committed
Nov 13, 2014 at 18:18 UTC
f1ee23770d39b660cd435b38255fdb1f9d856b79
2 files changed
+33
util/time.go
new
+17
@@ -0,0 +1,17 @@
1
+package util
2
+
3
+import "time"
4
+
5
+var TimeFormatIpfs = time.RFC3339Nano
6
+
7
+func ParseRFC3339(s string) (time.Time, error) {
8
+ t, err := time.Parse(TimeFormatIpfs, s)
9
+ if err != nil {
10
+ return time.Time{}, err
11
+ }
12
+ return t.UTC(), nil
13
+}
14
+
15
+func FormatRFC3339(t time.Time) string {
16
+ return t.UTC().Format(TimeFormatIpfs)
17
+}
util/time_test.go
new
+16
@@ -0,0 +1,16 @@
1
+package util
2
+
3
+import (
4
+ "testing"
5
+ "time"
6
+)
7
+
8
+func TestTimeFormatParseInversion(t *testing.T) {
9
+ v, err := ParseRFC3339(FormatRFC3339(time.Now()))
10
+ if err != nil {
11
+ t.Fatal(err)
12
+ }
13
+ if v.Location() != time.UTC {
14
+ t.Fatal("Time should be UTC")
15
+ }
16
+}