31 lines
448 B
Go
31 lines
448 B
Go
package utils
|
|
|
|
import "time"
|
|
|
|
func UnixToRfc3339(t int64) string {
|
|
res := time.Unix(0, t).UTC()
|
|
|
|
return res.Format(time.RFC3339)
|
|
}
|
|
|
|
func Rfc3339ToUnix(rfc3339 string) int64 {
|
|
// 解析 RFC3339 格式的時間
|
|
t, err := time.Parse(time.RFC3339, rfc3339)
|
|
if err != nil {
|
|
return 0
|
|
}
|
|
|
|
// 轉換為 Unix Nano (納秒)
|
|
return t.UTC().UnixNano()
|
|
}
|
|
|
|
func ToValue[T any](ptr *T) T {
|
|
if ptr == nil {
|
|
var zero T
|
|
|
|
return zero
|
|
}
|
|
|
|
return *ptr
|
|
}
|