feat: time trans utils
This commit is contained in:
2
tag.bat
2
tag.bat
@@ -1,4 +1,4 @@
|
|||||||
git tag v1.1.21
|
git tag v1.1.22
|
||||||
|
|
||||||
git tag bank_card/v1.1.5
|
git tag bank_card/v1.1.5
|
||||||
git tag geoip/v1.1.5
|
git tag geoip/v1.1.5
|
||||||
|
|||||||
@@ -48,6 +48,46 @@ func StringToUnixMilliInt64Ptr(tm *string) *int64 {
|
|||||||
return &unixTime
|
return &unixTime
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UnixMilliToTimePtr 毫秒时间戳 -> 时间
|
||||||
|
func UnixMilliToTimePtr(tm *int64) *time.Time {
|
||||||
|
if tm == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
unixMilli := time.UnixMilli(*tm)
|
||||||
|
return &unixMilli
|
||||||
|
}
|
||||||
|
|
||||||
|
// TimeToUnixMilliInt64Ptr 时间 -> 毫秒时间戳
|
||||||
|
func TimeToUnixMilliInt64Ptr(tm *time.Time) *int64 {
|
||||||
|
if tm == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
unixTime := tm.UnixMilli()
|
||||||
|
return &unixTime
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnixSecondToTimePtr 秒时间戳 -> 时间
|
||||||
|
func UnixSecondToTimePtr(tm *int64) *time.Time {
|
||||||
|
if tm == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
unixMilli := time.Unix(*tm, 0)
|
||||||
|
return &unixMilli
|
||||||
|
}
|
||||||
|
|
||||||
|
// TimeToUnixSecondInt64Ptr 时间 -> 秒时间戳
|
||||||
|
func TimeToUnixSecondInt64Ptr(tm *time.Time) *int64 {
|
||||||
|
if tm == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
unixTime := tm.Unix()
|
||||||
|
return &unixTime
|
||||||
|
}
|
||||||
|
|
||||||
// StringTimeToTime 时间字符串 -> 时间
|
// StringTimeToTime 时间字符串 -> 时间
|
||||||
func StringTimeToTime(str *string) *time.Time {
|
func StringTimeToTime(str *string) *time.Time {
|
||||||
if str == nil {
|
if str == nil {
|
||||||
|
|||||||
@@ -305,3 +305,51 @@ func TestDurationpbSecond(t *testing.T) {
|
|||||||
result = DurationpbSecond(nil)
|
result = DurationpbSecond(nil)
|
||||||
assert.Nil(t, result, "空输入应返回nil")
|
assert.Nil(t, result, "空输入应返回nil")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUnixMilliToTimePtr(t *testing.T) {
|
||||||
|
// 测试有效输入
|
||||||
|
now := time.Now().UnixMilli()
|
||||||
|
result := UnixMilliToTimePtr(&now)
|
||||||
|
assert.NotNil(t, result)
|
||||||
|
assert.Equal(t, time.UnixMilli(now), *result)
|
||||||
|
|
||||||
|
// 测试空输入
|
||||||
|
result = UnixMilliToTimePtr(nil)
|
||||||
|
assert.Nil(t, result)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestTimeToUnixMilliInt64Ptr(t *testing.T) {
|
||||||
|
// 测试有效输入
|
||||||
|
now := time.Now()
|
||||||
|
result := TimeToUnixMilliInt64Ptr(&now)
|
||||||
|
assert.NotNil(t, result)
|
||||||
|
assert.Equal(t, now.UnixMilli(), *result)
|
||||||
|
|
||||||
|
// 测试空输入
|
||||||
|
result = TimeToUnixMilliInt64Ptr(nil)
|
||||||
|
assert.Nil(t, result)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestUnixSecondToTimePtr(t *testing.T) {
|
||||||
|
// 测试有效输入
|
||||||
|
now := time.Now().Unix()
|
||||||
|
result := UnixSecondToTimePtr(&now)
|
||||||
|
assert.NotNil(t, result)
|
||||||
|
assert.Equal(t, time.Unix(now, 0), *result)
|
||||||
|
|
||||||
|
// 测试空输入
|
||||||
|
result = UnixSecondToTimePtr(nil)
|
||||||
|
assert.Nil(t, result)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestTimeToUnixSecondInt64Ptr(t *testing.T) {
|
||||||
|
// 测试有效输入
|
||||||
|
now := time.Now()
|
||||||
|
result := TimeToUnixSecondInt64Ptr(&now)
|
||||||
|
assert.NotNil(t, result)
|
||||||
|
assert.Equal(t, now.Unix(), *result)
|
||||||
|
|
||||||
|
// 测试空输入
|
||||||
|
result = TimeToUnixSecondInt64Ptr(nil)
|
||||||
|
assert.Nil(t, result)
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user