go 时间错误

invalid operation: n * time.Second (mismatched types int and time.Duration)

package main
import "time"
func main() {
n := 1
time.Sleep(n * time.Second)
}

time.Sleep支持参数是常量,变量需要强制类型转换成time.Duration。
time.Sleep(time.Duration(n) * time.Second)

time.Sleep参数单位是纳秒,1s相当于1 * 10^9纳秒。

package main
import "time"
const num = 1
func main() {
time.Sleep(num * time.Second)
}

以上代码生成汇编代码
go tool compile -S main.go
go完成了常量的time.Duration的转换。

输出时间格式错误

package main
import (
"fmt"
"time"
)
func main() {
// 秒后面带小数
fmt.Println(time.Now())
// 数据库存储时间
// 不带小数,先转成秒数时间戳再转成Time
fmt.Println(time.Unix(time.Now().Unix(), 0))
}

执行结果

2022-09-11 20:19:10.0588864 +0800 CST m=+0.004011701
2022-09-11 20:19:10 +0800 CST

 

posted on   王景迁  阅读(58)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示