12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package sqlite
- import (
- "time"
- "github.com/spf13/cast"
- )
- // 输入数字为毫秒值或文本或time.Time
- func MSTimeStampValue(v interface{}) time.Time {
- var ms int64
- switch tv := v.(type) {
- case time.Time:
- return tv
- case float32:
- ms = int64(tv)
- case float64:
- ms = int64(tv)
- case int:
- ms = int64(tv)
- case int8:
- ms = int64(tv)
- case int16:
- ms = int64(tv)
- case int32:
- ms = int64(tv)
- case int64:
- ms = tv
- case uint:
- ms = int64(tv)
- case uint8:
- ms = int64(tv)
- case uint16:
- ms = int64(tv)
- case uint32:
- ms = int64(tv)
- case uint64:
- ms = int64(tv)
- default:
- return cast.ToTimeInDefaultLocation(v, time.Local)
- }
- return time.Unix(0, ms*1000000)
- }
- // 输入数字为纳秒值或文本或time.Time
- func NSTimeStampValue(v interface{}) time.Time {
- var ns int64
- switch tv := v.(type) {
- case time.Time:
- return tv
- case float32:
- ns = int64(tv)
- case float64:
- ns = int64(tv)
- case int:
- ns = int64(tv)
- case int8:
- ns = int64(tv)
- case int16:
- ns = int64(tv)
- case int32:
- ns = int64(tv)
- case int64:
- ns = tv
- case uint:
- ns = int64(tv)
- case uint8:
- ns = int64(tv)
- case uint16:
- ns = int64(tv)
- case uint32:
- ns = int64(tv)
- case uint64:
- ns = int64(tv)
- default:
- return cast.ToTimeInDefaultLocation(v, time.Local)
- }
- return time.Unix(0, ns)
- }
|