首页 > 其他分享 >golang-标准库时间time

golang-标准库时间time

时间:2023-02-26 18:12:59浏览次数:26  
标签:02 parse fmt 2023 golang 标准 time Println

package main
 
import (
    "fmt"
    "time"
)
 
func main() {
    t := time.Now()
    //time.Time time.Date(2023, time.February, 19, 14, 38, 1, 393023500, time.Local) 2023-02-19 14:38:01.3930235 +0800 CST m=+0.008177501
    fmt.Printf("%T %#v %v\n", t, t, t)
    //2023-02-19 06:38:42.351399 +0000 UTC
    fmt.Printf("%v\n", t.UTC())
    //time.Date(2023, time.February, 19, 6, 39, 44, 393454500, time.UTC)
    fmt.Printf("%#v\n", t.UTC())
    //2023/02/19 14:40:40 +0800
    fmt.Println(t.Format("2006/01/02 15:04:05 -0700"))
    //2023/02/19 14:40:40
    fmt.Println(t.Format("2006/01/02 15:04:05"))
    //2023/02/19 06:41:41
    fmt.Println(t.UTC().Format("2006/01/02 15:04:05"))
 
    println("========================")
    //根据字符串 格式化成时间 格式要一毛一样
    timeStr := "2023#02/19\t14$42:23"
    parse, err := time.Parse("2006#01/02\t15$04:05", timeStr)
    if err != nil {
        fmt.Println("faile`")
    } else {
        //2023-02-19 14:42:23 +0000 UTC 注意时区
        fmt.Println("success:", parse)
    }
    fmt.Println(parse.Location()) //UTC 返回parse时区
    fmt.Println(parse.Local())    //2023-02-19 22:42:23 +0800 CST 时间加了8小时转到了CST
 
    //加上时区 把时间格式化成真正的当地时间和时区
    loc, _ := time.LoadLocation("Asia/Shanghai")
    t1, err := time.ParseInLocation("2006#01/02\t15$04:05", timeStr, loc)
    if err != nil {
        fmt.Println("fail")
    } else {
        //2023-02-19 14:42:23 +0800 CST
        fmt.Println("t1:", t1)
    }
 
    //时间成分
    fmt.Println(
        //2023 February 2 19
        parse.Year(), parse.Month(), int(parse.Month()), parse.Day(),
        //50
        parse.YearDay(),
        //14 42 23
        parse.Hour(), parse.Minute(), parse.Second(),
        "\n",
        //时间戳
        parse.Unix(), parse.UnixMilli(), parse.UnixMicro(),
    )
 
    //小数部分匹配,可以使用0或9,0需要和小数部分个数匹配,9不需要
    //time.Parse(
    //  "2006/01/02 15:04:05.000 -0700",
    //  "2008/09/08 20:36:50.123 +0800"
    //  )
    //time.Parse(
    //  "2006/01/02 15:04:05.9 -0700",
    //  "2008/09/08 20:36:50.1234 +0800"
    //  )
 
    //时间增量
    println("===========")
    delta := t.Sub(t1) //duration类型
    //5h59m18.468554s 5.988463487222222 21558.468554 5h59m18.468554s
    fmt.Println(delta, delta.Hours(), delta.Seconds(), delta.String())
 
    d1 := time.Duration(3) //3纳秒 3ns
    fmt.Println(d1)
    //3s 3h0m0s
    fmt.Println(time.Duration(3*time.Second), time.Duration(3*time.Hour))
    t2 := t1.Add(time.Duration(3 * time.Second))
    //t2: 2023-02-19 14:42:26 +0800 CST
    fmt.Println("t2:", t2)
    //2023-02-19 14:42:20 +0800 CST
    fmt.Println(t1.Add(-time.Duration(3 * time.Second)))
    fmt.Println(t2.After(t))  //false
    fmt.Println(t2.After(t1)) //true
}

  

标签:02,parse,fmt,2023,golang,标准,time,Println
From: https://www.cnblogs.com/dribs/p/17157202.html

相关文章

  • golang-标准库文件操作
    packagemainimport( "bufio" "fmt" "os" "strings")funcexample1(){ filename:="e:/test.txt"//内容为abc //Open是只读方式打开实际是调用的OpenFile......
  • golang基础知识查漏补缺(持续更新)
    表达式与语句简单来说,一个表达式表示一个值,而一条语句表示一个操作。但是在实际中,有些个表达式可能同时表示多个值,有些语句可能是由很多更基本的语句组成的。另外,根据场合......
  • golang,jwt-go实现生成token,中间件验证token
    前后端分离的项目。现在基本上都是JWT在go中通过https://github.com/dgrijalva/jwt-go 可以实现token的创建也解析注意:因为是案例,所以代码中很多配置是写死的,正常开发肯......
  • LA@二次型和标准化
    文章目录​​实二次型​​​​n元实二次型​​​​二次型和对称阵​​​​二次型的秩​​​​利用对称阵研究二次型​​​​例​​​​线性变换和矩阵合同​​​​线性变换......
  • 仓库的种类和彼此关系与maven标准目录结构
    仓库的种类和彼此关系1Maven仓库的分类maven的工作需要从仓库下载一些jar包,如下图所示,本地的项目A、项目B等都会通过maven软件从远程......
  • Golang微服务(二)
    Golang微服务(二)目录Golang微服务(二)注册中心选型consul环境consul常用API服务的增删查、健康检查gRPC的健康检查服务的负载均衡(相同服务多实例注册)配置中心nacos环境nacos......
  • Golang基于Mysql分布式锁实现集群主备
    背景集群中如果需要主备,可以基于Redis、zk的分布式锁等实现,本文将介绍如何利用Mysql分布式锁进行实现。原理数据库中包含数据字段(此处为Master的主机名)、版本号和上......
  • Solution of Arch/Manjaro/Endeavor update/install AUR software timeout/fail issue
    1.modifyhostsfiletoaccelerategithubwebpageaccess.sudokate/etc/hosts#forgithubaccessacceleration199.232.69.194github.global.ssl.fastly.net209.14......
  • 为什么在连接mysql时,设置 SetConnMaxIdleTime 没有作用
    目录测试1go1.15.15go1.17.12测试2go1.15.15go1.17.12参考在使用golang连接mysql时,为了节省连接资源,在连接使用过后,希望在指定长度时间不再使用后,自动关闭连接。这......
  • 897~898标准目录结构,常用命令
    标准目录结构:作为一个maven工程,它的src目录和pom.xml是必备的。进入src目录后,我们发现它里面的目录结构如下: src/main/java——存放项目......