Go学习笔记:time包使用

摘要: 和python一样,golang时间处理还是比较方便的,以下按照之前python的时间处理展开

golang时间处理
相关包 "time"

  • 时间戳 
    当前时间戳

    fmt.Println(time.Now().Unix())
    # 1389058332
  • str格式化时间
    当前格式化时间

    fmt.Println(time.Now().Format("2006-01-02 15:04:05"))  // 这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5
    # 2014-01-07 09:42:20
  • 时间戳转str格式化时间

    str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05")
    fmt.Println(str_time)
    # 2014-01-07 09:32:12
  • str格式化时间转时间戳
    这个比较麻烦

    the_time := time.Date(2014, 1, 7, 5, 50, 4, 0, time.Local)
    unix_time := the_time.Unix()
    fmt.Println(unix_time)
    # 389045004

    还有一种方法,使用time.Parse

    the_time, err := time.Parse("2006-01-02 15:04:05", "2014-01-08 09:04:41")
    if err == nil {
            unix_time := the_time.Unix()
    	fmt.Println(unix_time)		
    }
    # 1389171881
转自:https://my.oschina.net/1123581321/blog/190942


package main

import (
    "fmt"
    "time"
)

func main() {
    t, _ := time.Parse("2006-01-02 15:04:05", "2016-04-20 16:23:00")
    fmt.Println(t.Unix())
    y, m, d := time.Unix(1466344320, 0).Date()
    fmt.Println(y, m, d)

    //format后面的字符串必须是2006-01-02 15:04:05,据说go是这个时间诞生的
    fmt.Println(time.Now().Format("2006-01-02 15:04:05"))
    fmt.Println(time.Now().Format("2006-01-02"))
    fmt.Println(time.Now().Format("20060102"))
                                                                                                                            
    select {
    case <-time.After(5 * time.Second):
        fmt.Println("After 5 second")
    }   
    c := time.Tick(10 * time.Second)
    for now := range c { 
        fmt.Println(now)
    }   
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值