网站建设中有关层的使用的步骤,wordpress后台中文设置,网站建设报价单表格,如何评价一个网站设计的好坏目录 time 包方法总结
类型 time.Time 的方法
库函数
代码示例#xff1a; time 包方法总结
类型 time.Time 的方法
方法名描述示例 ẵNow()获取当前时间和日期time.Now()Format()格式化时间为字符串time.Now().Format(2006-01-02 15…目录 time 包方法总结
类型 time.Time 的方法
库函数
代码示例 time 包方法总结
类型 time.Time 的方法
方法名描述示例 ẵNow()获取当前时间和日期time.Now()Format()格式化时间为字符串time.Now().Format(2006-01-02 15:04:05)Add()增加指定时间time.Now().Add(2 * time.Hour)Hour()获取小时部分time.Now().Hour()Date()获取年、月、日部分time.Now().Date()Before()判断当前时间是否在指定时间之前time.Now().Before(time.Now())AddDate()增加年、月、日time.Now().AddDate(1, 2, 3)Clock()获取小时、分钟、秒部分time.Now().Clock()After()判断当前时间是否在指定时间之后time.Now().After(time.Now().Add(-1 * time.Hour))Compare()比较时间返回-1当前时间小于指定时间、0相等、1当前时间大于指定时间time.Now().Compare(time.Now().Add(-1 * time.Hour))Equal()判断两个时间是否相等time.Now().Equal(time.Now())Weekday()获取星期几time.Now().Weekday()Truncate()截断时间到最接近但不超过的倍数时间time.Now().Truncate(24 * time.Hour)In()转换为指定时区time.Now().In(time.UTC)String()返回时间字符串time.Now().String() 库函数
方法名描述示例 ẵParse()解析字符串为时间time.Parse(2006/01/02, 2022/05/19)Add()增加指定时间future : time.Now().Add(2 * time.Second)Sub()计算时间差diff : future.Sub(time.Now())Sleep()阻塞当前 goroutine 一段时间time.Sleep(2 * time.Second)AfterFunc()在指定时间后执行函数time.AfterFunc(diff, func() { ... })NewTimer()创建一个计时器timer : time.NewTimer(5 * time.Second)Stop()停止计时器timer.Stop()Since()计算从某个时间到现在的时间差time.Since(start)Date()创建一个新的时间time.Date(2025, time.March, 29, 20, 38, 0, 0, time.UTC)After()返回一个在指定时间后的通道time.After(2 * time.Hour) 代码示例
package mainimport (fmttime
)func main() {// 当前时间fmt.Println(time.Now())// 格式化stringfmt.Println(time.Now().Format(2006-01-02 15:04:05))fmt.Println(time.Now().Format(2006.01.02 15:04:05.000))fmt.Println(time.Now().Format(2006/01/02 15/04/05))// --------------------------类型time.fmt.Println(--------------------)fmt.Println(time.Now().Add(2 * time.Hour))fmt.Println(time.Now().Hour())fmt.Println(time.Now().Date()) // year int, month Month, day intfmt.Println(time.Now().Before(time.Now()))fmt.Println(time.Now().AddDate(1, 2, 3))fmt.Println(time.Now().Clock()) // hour int, min int, sec intfmt.Println(time.Now().After(time.Now().Add(-1 * time.Hour))) // truefmt.Println(time.Now().Compare(time.Now().Add(-1 * time.Hour))) // 调用者小于t返回-1等于返回0大于返回1。fmt.Println(time.Now().Equal(time.Now()))fmt.Println(time.Now().Weekday())fmt.Println(time.Now().Truncate(24 * time.Hour)) //截断到最接近但不超过原始时间的d的倍数。截断到最近的一天开始时刻fmt.Println(time.Now().In(time.UTC)) // 转换为UTC时区fmt.Println(time.Now().String())// ----------------------------库time.fmt.Println(--------------------)// 解析parseTime, _ : time.Parse(2006/01/02, 2022/05/19)fmt.Println(parseTime) // 2022-05-19 00:00:00 0000 UTC// 运算future : time.Now().Add(2 * time.Second)fmt.Println(future)diff : future.Sub(time.Now())fmt.Println(diff)// 延时、定时var start time.Now()time.Sleep(2 * time.Second)time.AfterFunc(diff, func() {fmt.Println(时间到)})// timertimer : time.NewTimer(5 * time.Second)fmt.Println(开始等待)-timer.C // 经过指定的时间间隔后发送当前时间到它的通道C;阻塞直到计时器到期//time.Timer 对象包含一个名为 C 的通道channel其类型为 -chan Time。这个通道用于接收计时器到期的通知。//具体来说当你创建了一个 time.Timer 并设置了一定的持续时间后这个定时器会在设定的时间间隔后通过它的 C 通道发送当前的时间信息。fmt.Println(5秒过去了)// 等价于time.After(5 * time.Second)timer time.NewTimer(5 * time.Second)stopped : timer.Stop() //如果计时器已经在通道上发送了值则 Stop 不会有任何效果。if stopped {fmt.Println(计时器已成功停止)} else {fmt.Println(计时器未能停止)}// 注意这里需要防止goroutine泄露实际应用中应谨慎处理select {case -timer.C:// 如果计时器到期这里会被触发default:// 如果计时器被成功停止这里什么都不会发生}// 其他fmt.Println(time.Since(start))// 输出: 2025-03-29 20:38:00 0000 UTCfmt.Println(time.Date(2025, time.March, 29, 20, 38, 0, 0, time.UTC))fmt.Println(time.After(2 * time.Hour)) // 打印通道本身而非时间点
}