@@ -202,6 +202,28 @@ func TestNanosecondsToUTCAndBack(t *testing.T) {
202
202
}
203
203
}
204
204
205
+ func TestUnixMilli (t * testing.T ) {
206
+ f := func (msec int64 ) bool {
207
+ t := UnixMilli (msec )
208
+ return t .UnixMilli () == msec
209
+ }
210
+ cfg := & quick.Config {MaxCount : 10000 }
211
+ if err := quick .Check (f , cfg ); err != nil {
212
+ t .Fatal (err )
213
+ }
214
+ }
215
+
216
+ func TestUnixMicro (t * testing.T ) {
217
+ f := func (usec int64 ) bool {
218
+ t := UnixMicro (usec )
219
+ return t .UnixMicro () == usec
220
+ }
221
+ cfg := & quick.Config {MaxCount : 10000 }
222
+ if err := quick .Check (f , cfg ); err != nil {
223
+ t .Fatal (err )
224
+ }
225
+ }
226
+
205
227
// The time routines provide no way to get absolute time
206
228
// (seconds since zero), but we need it to compute the right
207
229
// answer for bizarre roundings like "to the nearest 3 ns".
@@ -959,6 +981,8 @@ var mallocTest = []struct {
959
981
}{
960
982
{0 , `time.Now()` , func () { t = Now () }},
961
983
{0 , `time.Now().UnixNano()` , func () { u = Now ().UnixNano () }},
984
+ {0 , `time.Now().UnixMilli()` , func () { u = Now ().UnixMilli () }},
985
+ {0 , `time.Now().UnixMicro()` , func () { u = Now ().UnixMicro () }},
962
986
}
963
987
964
988
func TestCountMallocs (t * testing.T ) {
@@ -1249,6 +1273,8 @@ var defaultLocTests = []struct {
1249
1273
1250
1274
{"Unix" , func (t1 , t2 Time ) bool { return t1 .Unix () == t2 .Unix () }},
1251
1275
{"UnixNano" , func (t1 , t2 Time ) bool { return t1 .UnixNano () == t2 .UnixNano () }},
1276
+ {"UnixMilli" , func (t1 , t2 Time ) bool { return t1 .UnixMilli () == t2 .UnixMilli () }},
1277
+ {"UnixMicro" , func (t1 , t2 Time ) bool { return t1 .UnixMicro () == t2 .UnixMicro () }},
1252
1278
1253
1279
{"MarshalBinary" , func (t1 , t2 Time ) bool {
1254
1280
a1 , b1 := t1 .MarshalBinary ()
@@ -1301,6 +1327,18 @@ func BenchmarkNowUnixNano(b *testing.B) {
1301
1327
}
1302
1328
}
1303
1329
1330
+ func BenchmarkNowUnixMilli (b * testing.B ) {
1331
+ for i := 0 ; i < b .N ; i ++ {
1332
+ u = Now ().UnixMilli ()
1333
+ }
1334
+ }
1335
+
1336
+ func BenchmarkNowUnixMicro (b * testing.B ) {
1337
+ for i := 0 ; i < b .N ; i ++ {
1338
+ u = Now ().UnixMicro ()
1339
+ }
1340
+ }
1341
+
1304
1342
func BenchmarkFormat (b * testing.B ) {
1305
1343
t := Unix (1265346057 , 0 )
1306
1344
for i := 0 ; i < b .N ; i ++ {
0 commit comments