最灵活的一种方式:
获取当前时间的年月日时分秒的拼接(月日等补足到两位),类似于其他语言的 data format,可以按照自己的想法进行拼接,得到一个类型YYMMDD的格式,更加的灵活
now := ()
nowSecond := (()) + ("%02d", ()) + ("%02d", ()) + ("%02d", ()) + ("%02d", ()) + ("%02d", ())
结果输出
20221209103544
以下是golang基本的一些获取时间方式
一、获取时间
获取当前时间
package main
import (
"fmt"
"time"
)
func main() {
currentTime := () //当前时间
currentYear := ().Year() //当前年
currentMonth := ().Month() //当前月
currentDay := ().Day() //当前日
currentHour := ().Hour() //当前小时小时
currentMinute := ().Minute() //当前分钟
currentSecond := ().Second() //当前秒
currentNSecond := ().Nanosecond() //当前纳秒
//打印结果
("当前时间是:", currentTime)
("当前年:", currentYear)
("当前月:", currentMonth)
("当前日:", currentDay)
("当前小时:", currentHour)
("当前分钟:", currentMinute)
("当前秒:", currentSecond)
("当前纳秒:", currentNSecond)
结果输出
当前时间是: 2022-04-22 16:42:44.1160954 +0800 CST m=+0.004795301
当前年: 2022
当前月: April
当前日: 22
当前小时: 16
当前分钟: 42
当前秒: 44
当前纳秒: 150022700
获取之前/之后的时间
获取1分钟之前的时间戳
package main
import (
"fmt"
"time"
)
func main() {
currentTime := ()
m, _ := ("-1m")
result := (m)
(result)
}
说明
- 将传入的"-1m"转换为“持续时间”类型(),输出为-0h1m0s
- 之后Add() 可对其和时间进行计算
结果输出
2022-04-22 16:43:20.9844622 +0800 CST m=-59.994691699
获取一小时之前的时间
方法同上,持续时间可如下转换:(“-1h”)
package main
import (
"fmt"
"time"
)
func main() {
currentTime := ()
m, _ := ("-1h")
result := (m)
(result)
}
结果输出
2022-04-22 15:47:01.9977133 +0800 CST m=-3599.992986699
获取1小时后的时间
方法同上,持续时间可如下转换:(“1h”)
package main
import (
"fmt"
"time"
)
func main() {
currentTime := ()
m, _ := ("1h")
result := (m)
(result)
}
结果输出
2022-04-22 17:50:58.3395738 +0800 CST m=+3600.004424801
二、获时间戳
获取当前时间戳
package main
import (
"fmt"
"time"
)
func main() {
("时间戳(秒):%v;\n", ().Unix())
("时间戳(纳秒):%v;\n",().UnixNano())
("时间戳(毫秒):%v;\n",().UnixNano() / 1e6)
("时间戳(纳秒转换为秒):%v;\n",().UnixNano() / 1e9)
}
输出结果
时间戳(秒):1650617834;
时间戳(纳秒):1650617834110539400;
时间戳(毫秒):1650617834110;
时间戳(纳秒转换为秒):1650617834;
时间转时间戳
package main
import (
"fmt"
"time"
)
func main() {
timeStamp := (2022, 5, 20, 13, 14, 0, 0, ).Unix()
("时间转时间戳:",timeStamp)
}
结果输出
时间转时间戳: 1653023640
时间戳转时间
package main
import (
"fmt"
"time"
)
func main() {
timeStr := (1650617834, 0)
(timeStr)
}
结果输出
2022-04-22 16:57:14 +0800 CST
按模板格式化输出
注意:模板格式里的时间不能随意更改
package main
import (
"fmt"
"time"
)
func main() {
timeLayout := "2006-01-02 15:04:05"
timeStr := (1653023640, 0).Format(timeLayout)
(timeStr)
}
结果输出
2022-05-20 13:14:00