zoukankan      html  css  js  c++  java
  • GO 获取时间的日期函数、时间戳函数

    1、打印当前日期(单独取年,月,日,时,分,秒)
    package main

    import (
    "fmt"
    "time"
    )

    func main() {

    timeObj := time.Now()
    fmt.Println(timeObj) //2020-04-26 17:32:25.9639049 +0800 CST m=+0.004000301

    // 2020-04-26 17:32:25
    year := timeObj.Year()
    month := timeObj.Month()
    day := timeObj.Day()
    hour := timeObj.Hour()
    minute := timeObj.Minute()
    second := timeObj.Second()
    // fmt.Printf("%d-%d-%d %d:%d:%d", year, month, day, hour, minute, second) //2020-4-26 17:35:07

    fmt.Printf("%d-%02d-%02d %02d:%02d:%02d", year, month, day, ho  ur, minute, second) //2020-04-26 17:36:04

    //注意:%02d 中的 2 表示宽度,如果整数不够 2 列就补上 0
    }

    引用数据库中时间数据

    month = time.Unix(dynamic.UpdateTime/1000, 0).Month().String()
    day = time.Unix(dynamic.UpdateTime/1000, 0).Day()
    year = time.Unix(dynamic.UpdateTime/1000, 0).Year()
    2、打印当前日期(直接获取)
    package main

    import (
    "fmt"
    "time"
    )
    /*
    时间类型有一个自带的方法Format进行格式化,
    需要注意的是Go语言中格式化时间模板不是常见的Y-m-d H:M:S
    而是使用Go的诞生时间2006年1月2号15点04分(记忆口诀为2006 1 2 3 4)


    2006 年
    01 月
    02 日
    03 时 12小时制 写成:15 表示 24小时制
    04 分
    05 秒

    */
    func main() {
    // timeObj := time.Now()
    // var str = timeObj.Format("2006-01-02 03:04:05")
    // fmt.Println(str) //2020-04-26 05:44:24

    //12小时制
    // timeObj := time.Now()
    // var str = timeObj.Format("2006/01/02 03:04:05")
    // fmt.Println(str) //2020/04/26 05:44:47

    // 24小时制
    timeObj := time.Now()
    var str = timeObj.Format("2006/01/02 15:04:05")
    fmt.Println(str) // 2020/04/26 17:48:53
    }
     

     3. 获取时间戳

    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    /*
    时间戳是自 1970 年 1 月 1 日(08:00:00GMT)至当前时间的总毫秒数。它也被称为 Unix 时 间戳(UnixTimestamp)。
    */
    func main() {
    
    	timeObj := time.Now()
    
    	unixtime := timeObj.Unix()      //获取当前的时间戳 (秒)
    	fmt.Println("当前时间戳:", unixtime) //当前时间戳: 1587894706
    
    	unixNatime := timeObj.UnixNano()    //纳秒时间戳
    	fmt.Println("当前纳秒时间戳:", unixNatime) //当前时间戳:  1587894791217129300
    
    }
    
    4.时间戳转换成日期字符串
    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    //时间戳转换成日期字符串
    func main() {
    	// unixTime: 1587888473
    
    	unixTime := 1587894706
    	timeObj := time.Unix(int64(unixTime), 0)
    	fmt.Println(timeObj)
    	var str = timeObj.Format("2006-01-02 15:04:05")
    	fmt.Println(str) //2020-04-26 17:51:46
    
    }
    

    5.日期间隔  

    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    //日期字符串转换成时间戳
    func main() {
    
    	/*
    		1、time包中定义的时间间隔类型的常量如下:
    			const (
    			    Nanosecond  Duration = 1
    			    Microsecond          = 1000 * Nanosecond
    			    Millisecond          = 1000 * Microsecond
    			    Second               = 1000 * Millisecond
    			    Minute               = 60 * Second
    			    Hour                 = 60 * Minute
    			)
    	*/
    	// fmt.Println(time.Millisecond) //1毫秒
    	// fmt.Println(time.Second)      //1秒
    
    	/*
    		2、时间操作函数
    	*/
    
    	var timeObj = time.Now()
    	fmt.Println(timeObj)
    	timeObj = timeObj.Add(time.Hour)
    	fmt.Println(timeObj)
    
    	/*
    		2020-04-26 18:15:05.4612997 +0800 CST m=+0.005000201
    		2020-04-26 19:15:05.4612997 +0800 CST m=+3600.005000201
    	*/
    
    }
    

     6.定时器

    package main
    
    import (
        "fmt"
        "time"
    )
    
    /*
        golang定时器
    */
    
    func main() {
    
        // // time.Now()
        // ticker := time.NewTicker(time.Second)
        // // ticker.C
        // for t := range ticker.C {
        //     fmt.Println(t)
        // }
    
        // time.Now()
        // ticker := time.NewTicker(time.Second)
        // n := 5
        // for t := range ticker.C {
        //     n--
        //     fmt.Println(t)
        //     if n == 0 {
        //         ticker.Stop() //终止这个定时器继续执行
        //         break
        //     }
    
        // }
    
        //休眠方法
        // fmt.Println("aaa")
        // time.Sleep(time.Second)
        // fmt.Println("aaa2")
        // time.Sleep(time.Second)
        // fmt.Println("aaa3")
        // time.Sleep(time.Second * 5)
        // fmt.Println("aaa4")
    
        for {
            time.Sleep(time.Second)
            fmt.Println("我在定时执行任务")
        }
    }

     

     

  • 相关阅读:
    DATA_PUMP_DIR impdp 指定导出目录
    MasScan
    VMWare:vSphere6 企业版参考序列号
    ORA-12519: TNS:no appropriate service handler found 解决
    百度IOT
    IPMI远程管理一点记录
    关于parallel(并行)的几个基本常识
    hdu 4811 数学 不难
    关于i++ 和 ++i
    sqlplus中怎么将你全部的操作和结果记录保存到你指定的文件里
  • 原文地址:https://www.cnblogs.com/zxqblogrecord/p/13303241.html
Copyright © 2011-2022 走看看