何为时间戳:时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息 。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在 。
时间戳格式种类:
- 10位数的时间戳是以 秒 为单位,如:1530027865
- 13位数的时间戳是以 毫秒 为单位 , 如:1530027865231
- 19位数的时间戳是以 纳秒 为单位,如:1530027865231834600
/*@Time : 2022/11/8 14:52@Author : zic@File : time@Software: GoLand@blog : https://www.cnblogs.com/zichliang*/package mainimport ( "fmt" "strconv" "time")func main() { //获取当前时间 并格式化 t := time.Now() fmt.Println(t.Format("2006-01-02 15:04:05")) //获取当前时间戳 t = time.Now() fmt.Println(t.Unix()) //1531293019 //时间戳转换为时间 tm := time.Unix(1667889978, 0) fmt.Println(tm.Format("2006-01-02 15:04:05")) //时间转换为时间戳 timeUnix, _ := time.Parse("2006-01-02 15:04:05", "2022-11-08 14:46:18") fmt.Println(timeUnix.Unix()) // 13位时间戳转换成时间 data, _ := strconv.ParseInt(strconv.Itoa(1667888972000), 10, 64) nowTime := time.Unix(data/1000, 0).Format("2006-01-02 15:04:05") fmt.Println(nowTime) //2022-11-08 14:29:32 // (标准时间 2022-11-08 14:29:32 )时间转13位时间戳 timeUnix, _ = time.Parse("2006-01-02 15:04:05", nowTime) fmt.Println(timeUnix.UnixNano() / 1e6) // 1667917772000 // 非标准时间 转13位时间戳 formatTime := "2022-11-08" ft, _ := time.Parse("2006-01-02", formatTime) fmt.Println((ft.UTC().Unix() - 8*3600) * 1000) // 10位就不用乘1000 其实感觉有更好的方法 ....}
【Golang 实现时间戳和时间的转化】
推荐阅读
- 斗罗大陆电视剧什么时候播_斗罗大陆电视剧定档时间
- 二叉搜索树 - C++ 实现
- 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境
- 孤单一生的出生时间 他们一生难遇知己
- 关于ASP.NET Core WebSocket实现集群的思考
- 包 Go | 函数的使用
- 流放之路S20卡兰德之湖赛季上线时间说明
- 香肠派对香肠派对比赛服开服时间说明
- 真正“搞”懂HTTP协议03之时间穿梭
- go:快速添加接口方法及其实现