golang 时间time
1.格式化返回当前时间:两种形式
func main() { //格式化输出日期第一种方法:now.Year()等 now := time.Now() fmt.Printf("当前时间为:%d-%d-%d %d:%d:%d\n", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) //将格式化输出日期作为一个字符串进行保存 datastr := fmt.Sprintf("%d-%d-%d %d:%d:%d", now.Year(), now.Month(), now.Day(), now.Hour(), now.Minute(), now.Second()) fmt.Println(datastr) //格式化输出日期第二种方法,format。2006/01/02 15:04:05 这个字符串的各个数字是固定的,必须是这样写, //这个字符串的各个数字是可以自由组合的,可以按照需求来返回时间和日期。链接符"-",":"也是可以随意更换的 fmt.Println(now.Format("2006/01/02 15:04:05")) }
2.时间常量和休眠
时间常量
time.Hour
time.Minute
time.Second
time.Millisecond
time.Microsecond
time.Nanosecond
func main() { // 每隔0.1s打印一个数字。time.Sleep为休眠,时间单位只能*整数,不能*小数。Millisecond为毫秒 for i := 0; i < 10; i++ { fmt.Println(i) time.Sleep(time.Millisecond * 100) } }
3.time的时间戳Unix和Unixnano,表示从时间点January 1, 1970 UTC到时间点t所经过的时间(单位秒/纳秒)。常用于生成rand随机数,若不加rand.Seed种子,则每次都是一样的数而不是随机数。
func main() { fmt.Printf("秒时间戳为:%v,毫秒时间戳为%v\n", time.Now().Unix(), time.Now().UnixMicro()) //生成[0,100]随机数n rand.Seed(time.Now().UnixNano()) n := rand.Intn(100) + 1 //[0,100) +1 fmt.Println("随机数为:", n) }
4.计算程序test()执行耗费的时间
func test() { str := "hell0" for i := 0; i < 100000; i++ { str += strconv.Itoa(i) } } func main() { t1 := time.Now().Unix() test() t2 := time.Now().Unix() fmt.Printf("程序执行耗费时间为:%v秒\n", t2-t1) }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?