1. 获取当前时间戳 常用的获取当前时间戳的有: 时间戳(秒): time.Now().Unix() 时间戳(纳秒):time.Now().UnixNano() 时间戳(毫秒):time.Now().UnixNano()/1e6 完整示
常用的获取当前时间戳的有:
time.Now().Unix()
time.Now().UnixNano()
time.Now().UnixNano()/1e6
完整示例如下:
package main
import (
"fmt"
"time"
)
func main() {
// 10 位时间戳(秒)
timestamp := time.Now().Unix()
// 19 位时间戳(纳秒)
timestampNano := time.Now().UnixNano()
// 13 位时间戳(毫秒)
timestampMillisecond := timestampNano / 1e6
fmt.Printf("时间戳(秒):%v\n", timestamp)
fmt.Printf("时间戳(纳秒):%v\n", timestampNano)
fmt.Printf("时间戳(毫秒):%v\n", timestampMillisecond)
fmt.Printf("时间戳(纳秒转换为秒):%v\n", timestampNano/1e9)
// 输出如下
// 时间戳(秒):1606361139
// 时间戳(纳秒):1606361139759851593
// 时间戳(毫秒):1606361139759
// 时间戳(纳秒转换为秒):1606361139
}
我们可以使用 time.Now()
和 time.Date()
方法来获取当前时间;
其中 time.Now()
直接返回类似: 2020-11-26 11:07:17.088857195 +0800 CST m=+0.000040767
的时间;
但是 time.Date()
就需要自定义具体时间,如:time.Date(2020, time.October, 1, 8, 0, 0, 0, time.Local)
,两者返回类型一致。
完整示例代码:
package main
import (
"fmt"
"time"
)
func main() {
nowTime := time.Now()
// 获取具体年月日
year := time.Now().Year()
month := time.Now().Month()
day := time.Now().Day()
hour := time.Now().Hour()
minute := time.Now().Minute()
second := time.Now().Second()
nanosecond := time.Now().Nanosecond()
fmt.Println(nowTime)
fmt.Println(year, month, day, hour, minute, second, nanosecond)
// 如下毫秒 = 0 精确到秒
currentDate := time.Date(year, month, day, hour, minute, second, 0, time.Local)
fmt.Println(currentDate)
// 输出如下
// 2020-11-26 11:07:17.088857195 +0800 CST m=+0.000040767
// 2020 November 26 11 7 17 88905240
// 2020-11-26 11:07:17 +0800 CST
}
yyyy-MM-dd HH:mm:ss
输出 // 方式一:
timeFORMat := time.Now().Format("2006-01-02 15:04:05")
fmt.Println(timeFormat)
// 方式二:先获取当前时间戳
timestamp := time.Now().Unix()
// 再格式化时间戳转化为日期
datetime = time.Unix(timestamp, 0).Format("2006-01-02 15:04:05")
fmt.Println(datetime)
// 输出
// 2020-11-26 11:29:11
// 2020-11-26 11:29:11
timestamp = 1606361139
// 时间戳转化为日期
datetime = time.Unix(timestamp, 0).Format("2006-01-02 15:04:05")
fmt.Println(datetime)
// 2020-11-26 11:25:39
datetime = "2020-11-26 11:25:39"
formatTime, _ := time.Parse("2006-01-02 15:04:05", datetime)
fmt.Println(formatTime)
// 2020-11-26 11:25:39 +0000 UTC
datetime = "2020-11-26 11:25:39"
formatTime, _ := time.Parse("2006-01-02 15:04:05", datetime)
// 再上一步的基础上使用 Unix() 函数
fmt.Println(formatTime.Unix())
// 1606389939
--结束END--
本文标题: Go获取当前时间、时间戳、字符串时间转换time.Time格式
本文链接: https://www.lsjlt.com/news/99303.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0