now actually works right
This commit is contained in:
		
							parent
							
								
									f1397c40b1
								
							
						
					
					
						commit
						e36581f205
					
				
							
								
								
									
										22
									
								
								util.go
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								util.go
									
									
									
									
									
								
							@ -70,16 +70,22 @@ func CopyFile(src, dst string) (err error) {
 | 
				
			|||||||
	return
 | 
						return
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TimeFromUnixMilli(ms int64) time.Time {
 | 
					const milliInSecond int64 = 1000
 | 
				
			||||||
	const millisInSecond = 1000
 | 
					const microInSecond int64 = 1000000
 | 
				
			||||||
	const nsInSecond = 1000000
 | 
					const nsInSecond int64 = 1000000000
 | 
				
			||||||
	return time.Unix(ms/int64(millisInSecond), (ms%int64(millisInSecond))*int64(nsInSecond))
 | 
					
 | 
				
			||||||
 | 
					func TimeFromUnixMilli(input int64) time.Time {
 | 
				
			||||||
 | 
						var wholeSeconds int64 = input / milliInSecond
 | 
				
			||||||
 | 
						var remainderMillis int64 = input - (wholeSeconds * milliInSecond)
 | 
				
			||||||
 | 
						var remainderNano int64 = remainderMillis * 1000000
 | 
				
			||||||
 | 
						return time.Unix(wholeSeconds, remainderNano)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TimeFromUnixMicro(ms int64) time.Time {
 | 
					func TimeFromUnixMicro(input int64) time.Time {
 | 
				
			||||||
	const microInSecond = 1000000
 | 
						var wholeSeconds int64 = input / microInSecond
 | 
				
			||||||
	const nsInSecond = 1000000
 | 
						var remainderMicros int64 = input - (wholeSeconds * microInSecond)
 | 
				
			||||||
	return time.Unix(ms/int64(microInSecond), (ms%int64(microInSecond))*int64(nsInSecond))
 | 
						var remainderNano int64 = remainderMicros * 1000
 | 
				
			||||||
 | 
						return time.Unix(wholeSeconds, remainderNano)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TimeFromWebKit(input int64) time.Time {
 | 
					func TimeFromWebKit(input int64) time.Time {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										51
									
								
								util_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								util_test.go
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					package goutil
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"testing"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestFromUnixMilli(t *testing.T) {
 | 
				
			||||||
 | 
						ms := 1542810446506
 | 
				
			||||||
 | 
						ts := TimeFromUnixMilli(int64(ms))
 | 
				
			||||||
 | 
						if ts.UTC().String() != "2018-11-21 14:27:26.506 +0000 UTC" {
 | 
				
			||||||
 | 
							t.Errorf("Expected time to be '2018-11-21 14:27:26.506 +0000 UTC' got '%s'", ts.UTC().String())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestFromUnixMicro(t *testing.T) {
 | 
				
			||||||
 | 
						ms := 1542810446506000
 | 
				
			||||||
 | 
						ts := TimeFromUnixMicro(int64(ms))
 | 
				
			||||||
 | 
						if ts.UTC().String() != "2018-11-21 14:27:26.506 +0000 UTC" {
 | 
				
			||||||
 | 
							t.Errorf("Expected time to be '2018-11-21 14:27:26.506 +0000 UTC' got '%s'", ts.UTC().String())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestFromWebkit(t *testing.T) {
 | 
				
			||||||
 | 
						var wk int64 = 13245202142853170
 | 
				
			||||||
 | 
						ts := TimeFromWebKit(wk)
 | 
				
			||||||
 | 
						expected := "2020-09-21 22:49:02.85317 +0000 UTC"
 | 
				
			||||||
 | 
						if ts.UTC().String() != expected {
 | 
				
			||||||
 | 
							t.Errorf("Expected time to be '%s' got '%s'", expected, ts.UTC().String())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestNowUnixMicro(t *testing.T) {
 | 
				
			||||||
 | 
						now := time.Now()
 | 
				
			||||||
 | 
						nownano := now.UnixNano()
 | 
				
			||||||
 | 
						nowmicro := nownano / 1000
 | 
				
			||||||
 | 
						ts := TimeFromUnixMicro(nowmicro)
 | 
				
			||||||
 | 
						if ts.UTC().String() != now.UTC().String() {
 | 
				
			||||||
 | 
							t.Errorf("Expected '%s' got '%s'", now.UTC().String(), ts.UTC().String())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func TestNowUnixMilli(t *testing.T) {
 | 
				
			||||||
 | 
						now := time.Now()
 | 
				
			||||||
 | 
						nownano := now.UnixNano()
 | 
				
			||||||
 | 
						nowmilli := nownano / 1000000
 | 
				
			||||||
 | 
						ts := TimeFromUnixMilli(nowmilli)
 | 
				
			||||||
 | 
						if ts.UTC().Format(time.StampMilli) != now.UTC().Format(time.StampMilli) {
 | 
				
			||||||
 | 
							t.Errorf("Expected '%s' got '%s'", now.UTC().String(), ts.UTC().String())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user