1. 程式人生 > >Go學習筆記:time包使用

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)
    }   
}


相關推薦

Go學習筆記:time使用

摘要: 和python一樣,golang時間處理還是比較方便的,以下按照之前python的時間處理展開 golang時間處理 相關包 "time" 時間戳  當前時間戳 fmt.Println(time.Now().Unix()) # 1389058332 str

go學習筆記-處理

包處理 package是go管理程式碼的重要工具,用於組織 Go 原始碼,提供了更好的可重用性與可讀性。 可見性 變數或函式名的首字母大寫時,其就是可匯出的,小寫時則是不可匯出的。 函式和變數的可訪問性是以包做隔離的。 包 函式或變數 可訪問性 同一個包 可/不可

GO學習筆記——和封裝(17)

既然GO支援封裝,那麼相比於C++的三大訪問屬性:private,protected,public,GO只有private和public,因為protected是因繼承而產生的。而C++的訪問屬性是根據類來說的,在一個類中相當於外界的屬性;但是GO中沒有類,GO中的訪問屬性是

go 學習筆記之僅僅需要一個示例就能講清楚什麼閉

本篇文章是 Go 語言學習筆記之函數語言程式設計系列文章的第二篇,上一篇介紹了函式基礎,這一篇文章重點介紹函式的重要應用之一: 閉包 空談誤國,實幹興邦,以具體程式碼示例為基礎講解什麼是閉包以及為什麼需要閉包等問題,下面我們沿用上篇文章的示例程式碼開始本文的學習吧! 斐波那契數列是形如 1 1 2 3 5

go 學習筆記之10 分鐘簡要理解 go 語言閉技術

閉包是主流程式語言中的一種通用技術,常常和函數語言程式設計進行強強聯合,本文主要是介紹 Go 語言中什麼是閉包以及怎麼理解閉包. 如果讀者對於 Go 語言的閉包還不是特別清楚的話,可以參考上一篇文章 go 學習筆記之僅僅需要一個示例就能講清楚什麼閉包. 或者也可以直接無視,因為接下來會回顧一下前情概要,現在你

python學習筆記——閉

能夠 變量 封裝性 學習 學習筆記 外部連接 容易 自由 必須 1 定義 定義:在計算機科學中,閉包是詞法閉包的簡稱,是引用了自由變量的函數 簡單地說:閉包就是能夠讀取其他函數內部變量的函數,閉包是將函數內部和函數外部連接起來的橋梁。——來源百度百科 2 描述 形成閉包的條

Go學習筆記01

源碼 沒事 安裝 下載 命名 cos 代碼包 bin 終端 前言 Go(Golang)是Google開發的一種強靜態類型、編譯型、並發型,並具有垃圾回收功能的編程語言,所以使用Go編寫的程序相比nodejs之類的弱類型語言,可以提前在編譯階段發現錯誤,而且由於沒有類似JVM

go學習筆記(3) -- package fmt

 package fmt fmt包實現了格式化的I/O函式,這點類似C語言中的printf和scanf,但是更加簡單,其中的格式“佔位符”衍生自 C 佔位符 一般佔位符 布林佔位符 浮點數及其複合構成佔位符 指標 fmt中的方法: // Print 將引數列表

go學習筆記-函式

函式 定義 格式 func function_name( [parameter list] ) [return_types] { 函式體 } 解析 func:函式由 func 開始宣告 function_name:函式名稱,函式名和引數列表一起構成了函式簽名。 parameter

go學習筆記-基礎型別

基礎型別 布林值 布林值的型別為bool,值是true或false,預設為false。 //示例程式碼 var isActive bool // 全域性變數宣告 var enabled, disabled = true, false // 忽略型別的宣告 func testBool() {

go學習筆記-Data型別(Arrays, Slices and Maps)

Data型別(Arrays, Slices and Maps) array array就是陣列,定義方式如下: var arr [n]type 在[n]type中,n表示陣列的長度,type表示儲存元素的型別。 例如 var arr [10]int func testArray() { ar

go學習筆記-運算子

運算子 運算子 內建運算子 算術運算子 關係運算符 邏輯運算子 位運算子 賦值運算子 其他運算子 算術運算子 假定 A 值為 10,B 值為 20。 運算子 描述 例項 + 相加 A + B 輸出結果 30 - 相減 A - B 輸出結果 -10 * 相乘 A * B 輸出結果

go學習筆記-變數和常量

變數和常量 變數 基本寫法 //定義一個名稱為“variableName”,型別為"type"的變數 var variableName type //定義三個型別都是“type”的變數 var vname1, vname2, vname3 type 初始化 //初始化“variableName”的

go學習筆記-常見命令

and cover show fix nts 令行 編譯 每一個 program 常見命令 go 命令 可以在控制臺執行go來查看 go Go is a tool for managing Go source code. Usage: go <comma

go學習筆記-語言指標

語言指標 定義及使用 變數是一種使用方便的佔位符,用於引用計算機記憶體地址。取地址符是 &,放到一個變數前使用就會返回相應變數的記憶體地址。 一個指標變數指向了一個值的記憶體地址。類似於變數和常量,在使用指標前你需要宣告指標。 var var_name *var-type var-type 為

go學習筆記-結構體

結構體 結構體是由一系列具有相同型別或不同型別的資料構成的資料集合 定義 格式 type struct_variable_type struct { member definition; member definition; ... member definition; }

go學習筆記-面向物件(Methods, Interfaces)

面向物件(Methods, Interfaces) Method method是附屬在一個給定的型別上的,他的語法和函式的宣告語法幾乎一樣,只是在func後面增加了一個receiver(也就是method所依從的主體)。 語法 func (r ReceiverType) funcName(param

go學習筆記-變數作用域

變數作用域 作用域為已宣告識別符號所表示的常量、型別、變數、函式或包在原始碼中的作用範圍。 變數可以在三個地方宣告: 函式內定義的變數稱為區域性變數 函式外定義的變數稱為全域性變數 函式定義中的變數稱為形式引數 全域性變數 在函式體外宣告的變數稱之為全域性變數,全域性變數可以在整個包

go學習筆記-語言基礎

組成 括號 同一行 ace \n 數字類型 pac face utf 語言基礎 結構 基礎組成: 包聲明 引入包 函數 變量 語句 & 表達式 註釋 程序 在開始編寫應用之前,我們先從最基本的程序開始,在學習大部分語言之前,都會編寫一個可以輸出hello world

go學習筆記-錯誤處理

錯誤處理 通過內建的錯誤介面提供了非常簡單的錯誤處理機制。 error型別是一個介面型別 type error interface { Error() string } 可以在編碼中通過實現 error 介面型別來生成錯誤資訊。 函式通常在最後的返回值中返回錯誤資訊。使用errors.New 可