@@ -69,15 +69,19 @@ type FooStructDisallowUnknownFields struct {
69
69
}
70
70
71
71
type FooBarStructForTimeType struct {
72
- TimeFoo time.Time `form:"time_foo" time_format:"2006-01-02" time_utc:"1" time_location:"Asia/Chongqing"`
73
- TimeBar time.Time `form:"time_bar" time_format:"2006-01-02" time_utc:"1"`
74
- CreateTime time.Time `form:"createTime" time_format:"unixNano"`
75
- UnixTime time.Time `form:"unixTime" time_format:"unix"`
72
+ TimeFoo time.Time `form:"time_foo" time_format:"2006-01-02" time_utc:"1" time_location:"Asia/Chongqing"`
73
+ TimeBar time.Time `form:"time_bar" time_format:"2006-01-02" time_utc:"1"`
74
+ CreateTime time.Time `form:"createTime" time_format:"unixNano"`
75
+ UnixTime time.Time `form:"unixTime" time_format:"unix"`
76
+ UnixMilliTime time.Time `form:"unixMilliTime" time_format:"unixmilli"`
77
+ UnixMicroTime time.Time `form:"unixMicroTime" time_format:"uNiXmiCrO"`
76
78
}
77
79
78
80
type FooStructForTimeTypeNotUnixFormat struct {
79
- CreateTime time.Time `form:"createTime" time_format:"unixNano"`
80
- UnixTime time.Time `form:"unixTime" time_format:"unix"`
81
+ CreateTime time.Time `form:"createTime" time_format:"unixNano"`
82
+ UnixTime time.Time `form:"unixTime" time_format:"unix"`
83
+ UnixMilliTime time.Time `form:"unixMilliTime" time_format:"unixMilli"`
84
+ UnixMicroTime time.Time `form:"unixMicroTime" time_format:"unixMicro"`
81
85
}
82
86
83
87
type FooStructForTimeTypeNotFormat struct {
@@ -265,10 +269,10 @@ func TestBindingFormDefaultValue2(t *testing.T) {
265
269
func TestBindingFormForTime (t * testing.T ) {
266
270
testFormBindingForTime (t , http .MethodPost ,
267
271
"/" , "/" ,
268
- "time_foo=2017-11-15&time_bar=&createTime=1562400033000000123&unixTime=1562400033" , "bar2=foo" )
272
+ "time_foo=2017-11-15&time_bar=&createTime=1562400033000000123&unixTime=1562400033&unixMilliTime=1562400033001&unixMicroTime=1562400033000012 " , "bar2=foo" )
269
273
testFormBindingForTimeNotUnixFormat (t , http .MethodPost ,
270
274
"/" , "/" ,
271
- "time_foo=2017-11-15&createTime=bad&unixTime=bad" , "bar2=foo" )
275
+ "time_foo=2017-11-15&createTime=bad&unixTime=bad&unixMilliTime=bad&unixMicroTime=bad " , "bar2=foo" )
272
276
testFormBindingForTimeNotFormat (t , http .MethodPost ,
273
277
"/" , "/" ,
274
278
"time_foo=2017-11-15" , "bar2=foo" )
@@ -282,11 +286,11 @@ func TestBindingFormForTime(t *testing.T) {
282
286
283
287
func TestBindingFormForTime2 (t * testing.T ) {
284
288
testFormBindingForTime (t , http .MethodGet ,
285
- "/?time_foo=2017-11-15&time_bar=&createTime=1562400033000000123&unixTime=1562400033" , "/?bar2=foo" ,
289
+ "/?time_foo=2017-11-15&time_bar=&createTime=1562400033000000123&unixTime=1562400033&unixMilliTime=1562400033001&unixMicroTime=1562400033000012 " , "/?bar2=foo" ,
286
290
"" , "" )
287
291
testFormBindingForTimeNotUnixFormat (t , http .MethodPost ,
288
292
"/" , "/" ,
289
- "time_foo=2017-11-15&createTime=bad&unixTime=bad" , "bar2=foo" )
293
+ "time_foo=2017-11-15&createTime=bad&unixTime=bad&unixMilliTime=bad&unixMicroTime=bad " , "bar2=foo" )
290
294
testFormBindingForTimeNotFormat (t , http .MethodGet ,
291
295
"/?time_foo=2017-11-15" , "/?bar2=foo" ,
292
296
"" , "" )
@@ -952,6 +956,8 @@ func testFormBindingForTime(t *testing.T, method, path, badPath, body, badBody s
952
956
assert .Equal (t , "UTC" , obj .TimeBar .Location ().String ())
953
957
assert .Equal (t , int64 (1562400033000000123 ), obj .CreateTime .UnixNano ())
954
958
assert .Equal (t , int64 (1562400033 ), obj .UnixTime .Unix ())
959
+ assert .Equal (t , int64 (1562400033001 ), obj .UnixMilliTime .UnixMilli ())
960
+ assert .Equal (t , int64 (1562400033000012 ), obj .UnixMicroTime .UnixMicro ())
955
961
956
962
obj = FooBarStructForTimeType {}
957
963
req = requestWithBody (method , badPath , badBody )
0 commit comments