41 lines
1.4 KiB
Go
41 lines
1.4 KiB
Go
package tool
|
|
|
|
import (
|
|
"log"
|
|
"time"
|
|
)
|
|
|
|
func Timestamp(a string) int64 {
|
|
switch {
|
|
case a == "second":
|
|
timestamp := time.Now().Unix() // 获取秒级时间戳
|
|
// log.Printf("Current Unix Timestamp: %v\n", timestamp)
|
|
return timestamp
|
|
case a == "millisecond":
|
|
millisecondTimestamp := time.Now().UnixMilli() //获取当前时间的毫秒级时间戳
|
|
// log.Printf("Current Millisecond Timestamp: %v\n", millisecondTimestamp)
|
|
return millisecondTimestamp
|
|
case a == "microsecond":
|
|
microsecondTimestamp := time.Now().UnixMicro() // 获取当前时间的微秒级时间戳
|
|
// fmt.Printf("Current Microsecond Timestamp: %v\n", microsecondTimestamp)
|
|
return microsecondTimestamp
|
|
case a == "nanosecond":
|
|
nanosecondTimestamp := time.Now().UnixNano() // 获取当前时间的纳秒级时间戳
|
|
// fmt.Printf("Current Microsecond Timestamp: %v\n", nanosecondTimestamp)
|
|
return nanosecondTimestamp
|
|
default:
|
|
log.Println("时间戳生成失败")
|
|
return int64(0)
|
|
}
|
|
}
|
|
func Timestamp_all() map[string]interface{} {
|
|
data := map[string]interface{}{
|
|
"timestamp": time.Now().Unix(), // 获取秒级时间戳
|
|
"millisecondTimestamp": time.Now().UnixMilli(), //获取当前时间的毫秒级时间戳
|
|
"microsecondTimestamp": time.Now().UnixMicro(), // 获取当前时间的微秒级时间戳
|
|
"nanosecondTimestamp": time.Now().UnixNano(), // 获取当前时间
|
|
"nowtime": time.Now().Format("2006-01-02 15:04:05"),
|
|
}
|
|
return data
|
|
}
|