time

package main

import (
    "fmt"
    "time"
)

func main() {
    //获取当前时间
    ctime := time.Now()
    
    //返回一个Time类型的值包含了年、月、日、时、分、秒、纳秒和时区信息
    fmt.Println(ctime) //2024-04-29 10:57:30.741728 +0800 CST m=+0.004047501
    
    //时区处理:
    loc, _ := time.LoadLocation("Asia/Shanghai")
    t := time.Now().In(loc)
    fmt.Println(t)
    
    //计算UNIX时间戳:
    t1 := time.Now().Unix()
    fmt.Println(t1)
    
    //从UNIX时间戳计算时间:
    t2 := time.Unix(1640995200, 0)
    fmt.Println(t2)
    
    //时间格式化为特定形式的字符串
    //将时间按照不同的格式显示是很常见的需求。
    //使用time.Format()函数来进行时间格式化。这个函数接收一个格式字符串,根据这个格式将时间对象转换成对应的字符串。
    /*
       2006   固定为4位的年份,表示是一种标准
       01    固定为2位的月份,不足两位左侧补0
       02    固定为2位的日期,不足两位左侧补0
       15    固定为2位的小时,24小时制,不足两位左侧补0
       04    固定为2位的分钟,不足两位左侧补0
       05    固定为2位的秒,不足两位左侧补0
    */
    fommatted_time := ctime.Format("2006-01-02 15:04:05")
    fmt.Println(fommatted_time) //2024-04-29 11:04:30
    
    //解析字符串时间
    t, _ = time.Parse("2006-01-02 15:04:05", "2022-01-01 12:00:00")
    fmt.Println(t)

    //延后
    after_one_hour := ctime.Add(time.Hour)
    fmt.Println(after_one_hour) //2024-04-29 12:04:30.8010603 +0800 CST m=+3600.004216801
    
    //计算时间差
    duration := after_one_hour.Sub(ctime)
    fmt.Println(duration) //1h0m0s

    //设置时间
    td := time.Date(2024, 4, 29, 11, 9, 0, 0, time.Local)
    fmt.Println(td) //2024-04-29 11:09:00 +0800 CST

    //获取时间信息
    fmt.Println(ctime.Year()) //获取年份
    fmt.Println(ctime.Month())
    fmt.Println(ctime.Date())
    fmt.Println(ctime.Hour())
    fmt.Println(ctime.Second())
    fmt.Println(ctime.Weekday()) //获取星期几,0标识星期日
    // 睡眠
    nt := time.Now()
    time.Sleep(time.Second * 3)
    fmt.Println(time.Now().Sub(nt))

}

posted on 2024-04-30 10:36  小胖子方法  阅读(8)  评论(0)    收藏  举报

导航