Golang中的格式化時間輸出
通常我們在程式處理過程需要對時間進行一定格式化的輸出,以便讓使用者或者其他程式能夠更加友好的識別時間,本篇記錄下在使用golang語言過程中如何格式化時間。
通常情況下我們可以使用linux shell很方便的格式化時間:
sh-4.1$ date
2018年 09月 18日 星期二 12:49:06 CST
sh-4.1$ date "+%Y-%m-%dT %H:%M:%S"
2018-09-18T 12:49:07
%y 表示小年(2018->18)
%h 表示X月(9月)
# 直接輸出時間戳
sh-4.1$ date +%s
1537248887
在python中我們可能是這樣格式化時間:在python中格式化時間的引數和在linux shell中的引數是一致的
In [1]: import datetime
In [2]: datetime.datetime.now().strftime('%Y-%m-%dT %H:%M:%S')
Out[2]: '2018-09-18T 13:31:35'
# 按照一定時間格式進行時間戳轉換
In [3]: import time
In [4]: int(time.mktime(time.strptime('2018-09-18T 13:31:35', "%Y-%m-%dT %H:%M:%S")))
Out[4]: 1537248695
# 獲取當前和前一天,前兩天時間
import datetime
now = datetime.datetime.now()
last1 = now+datetime.timedelta(days=-1)
last2 = last1+datetime.timedelta(days=-1)
print(now.strftime('%Y-%m-%d %H:%M:%S'))
print(last1.strftime('%Y-%m-%d %H:%M:%S'))
print(last2.strftime('%Y-%m-%d %H:%M:%S'))
$ python testdate.py
2018-09-28 17:08:35
2018-09-27 17:08:35
2018-09-26 17:08:35
而在Golang中我們想要格式化時間需要如下操作:
➜ ✗ cat test-time.go
package main
import (
"time"
"fmt"
)
func main() {
now := time.Now()
timestamp := now.Unix()
fmt.Println("時間戳:"+fmt.Sprintf("%d",timestamp))
fmt.Printf("當前時間:%d-%d-%dT %d:%d:%d\n",now.Year(),now.Month(),now.Day(),now.Hour(),now.Minute(),now.Second())
}
➜ ✗ go run test.go
時間戳:1537251120
當前時間:2018-9-18T 14:12:0
➜ ✗ go run test.go
時間戳:1537251122
當前時間:2018-9-18T 14:12:2
在golang中使用Time
結構體的一些方法可以很方便且友好型的格式化當前時間,不過比較細心的朋友可能會發現一些問題即使用Time結構體的方法獲取具體的時間時(年月日時分秒),這些方法屬於懶惰型輸出,比如現在是9月,使用*Time.Month()時會輸出9而不是09;*Time.Second()遇到個位數秒時,也並不會補全十位上的0
。這個時候對於再使用Time
相關的方法時會無法和標準的時間格式匹配,需要用到Format
方法來進行時間的格式化。
fmt.Println(now.Format("2006-01-02T 15:04:05"))
# 輸出格式為:
2018-09-18T 14:25:01
# 僅輸出:月-日(09-18)
fmt.Println(now.Format("01-02"))
相關文章
- GsonBuilder匯出null值、格式化輸出、日期時間UINull
- 格式化釋出時間
- Java取當前時間的一分鐘後,並格式化輸出Java
- Golang結構體json的時間格式化解決辦法Golang結構體JSON
- java Web 時間LocalDateTime 輸出到前端格式化JavaWebLDA前端
- 格式化輸入輸出
- 格式化輸出
- 格式化輸入和輸出
- python怎樣實時輸出時間Python
- 格式化輸出 22
- pythonformat格式化輸出PythonORM
- 在C程式中按照你想要的格式輸出時間:strftime()C程式
- Go 語言中的格式化輸出Go
- 格式化輸出的幾種方式
- python字串格式化輸出Python字串格式化
- 字串拼接格式化輸出字串
- 掌握時間與空間:深入探討Golang中的時間戳與時區轉換Golang時間戳
- 日期時間格式化
- Python格式化時間Python
- 格式化時間 戳
- Python 輸出當前日期和時間Python
- 如何在langchain中對大模型的輸出進行格式化LangChain大模型
- 格式化輸出變數工具變數
- [20200306]expand格式化輸出.txt
- 練習3(格式化輸出)
- Python 字串格式化輸出方式Python字串格式化
- hadoop 自定義格式化輸出Hadoop
- JavaScript 日期和時間的格式化JavaScript
- C++資料格式化3 - 格式化時間區間(使用時長)C++
- JavaScript時間日期格式化JavaScript
- js時間格式化工具JS
- c語言中資料的格式化輸出C語言
- golang 時間加減Golang
- 細說PHP筆記08(第12章)--日期和時間,建立時間戳,mktime轉換unix時間戳,獲取字串時間,獲得日期和時間資訊,日期和時間格式化輸出,microtime()獲取微秒數PHP筆記時間戳字串
- [20191106]善用column格式化輸出.txt
- shell指令碼(3)-格式化輸出指令碼
- 寫一個格式化時間的方法
- 神經網路中間層輸出神經網路