发布时间:2024-11-05 16:29:04
时间戳:1625947654321
转换结果:2021-07-10 08:34:14.321 +0000 UTC
## 时间戳格式化 在golang中,可以使用Time类型的Format方法将时间戳格式化为指定的日期字符串。下面是一个示例: ```go package main import ( "fmt" "time" ) func main() { // 定义一个13位时间戳 timestamp := int64(1625947654321) // 将时间戳转换为Time类型 tm := time.Unix(timestamp/1000, (timestamp%1000)*int64(time.Millisecond)) // 格式化日期字符串 format := "2006-01-02 15:04:05.999" str := tm.Format(format) fmt.Println("格式化后的日期字符串:", str) } ``` 上述代码将格式化后的日期字符串打印出来。时间戳:1625947654321
格式化后的日期字符串:2021-07-10 08:34:14.321
## 时间戳相互转换 除了将时间戳转换为Time类型和格式化日期字符串之外,我们还可以将Time类型或格式化日期字符串转换为时间戳。下面是示例: ```go package main import ( "fmt" "time" ) func main() { // 将时间转换为时间戳 tm := time.Date(2021, time.July, 10, 8, 34, 14, 321000000, time.UTC) timestamp := tm.Unix()*1000 + int64(tm.Nanosecond())/int64(time.Millisecond) fmt.Println("时间对应的时间戳:", timestamp) // 将格式化日期字符串转换为时间戳 format := "2006-01-02 15:04:05.999" str := "2021-07-10 08:34:14.321" t, _ := time.Parse(format, str) timestamp2 := t.UnixNano() / int64(time.Millisecond) fmt.Println("格式化日期字符串对应的时间戳:", timestamp2) } ``` 上述代码将时间和格式化日期字符串转换为时间戳,并打印出来。时间:2021-07-10 08:34:14.321
时间戳:1625947654321
## 时间戳计算 在golang中,我们可以通过time包提供的Add和Sub方法进行时间戳的计算。下面是示例: ```go package main import ( "fmt" "time" ) func main() { // 定义一个13位时间戳 timestamp := int64(1625947654321) // 将时间戳转换为Time类型 tm := time.Unix(timestamp/1000, (timestamp%1000)*int64(time.Millisecond)) // 时间戳加1天 oneDay := time.Hour * 24 newTime := tm.Add(oneDay) fmt.Println("加上一天后的时间:", newTime) // 时间戳减去1天 subTime := tm.Add(-oneDay) fmt.Println("减去一天后的时间:", subTime) } ``` 上述代码将时间戳加上或减去一天,并打印出计算后的时间。时间戳:1625947654321
加上一天后的时间:2021-07-11 08:34:14.321 +0000 UTC
减去一天后的时间:2021-07-09 08:34:14.321 +0000 UTC
## 总结 通过使用golang中的time包,我们可以方便地操作13位时间戳。我们可以将时间戳转换为Time类型,或者格式化为指定的日期字符串。同时,我们也可以将时间或日期字符串转换为时间戳,以及进行时间戳的计算。这些功能在日常开发中非常有用,可以更好地处理和操作时间。希望本文对您了解golang中的时间戳有所帮助。