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"))
相關文章
- VC++基礎 格式化時間輸出C++
- GsonBuilder匯出null值、格式化輸出、日期時間UINull
- 格式化輸出n天后的時間(java實現 )Java
- 格式化釋出時間
- Java取當前時間的一分鐘後,並格式化輸出Java
- golang結構體json的時間格式化解決方案Golang結構體JSON
- Golang結構體json的時間格式化解決辦法Golang結構體JSON
- jQuery輸入時間日期自動格式化效果jQuery
- AWK的格式化輸出和檔案中的AWK
- C++格式化輸入輸出C++
- python怎樣實時輸出時間Python
- 在C程式中按照你想要的格式輸出時間:strftime()C程式
- Go 語言中的格式化輸出Go
- pythonformat格式化輸出PythonORM
- 字串拼接格式化輸出字串
- Python格式化輸出Python
- java日期格式化輸出Java
- SQL*PLUS 格式化輸出SQL
- SqlServer時間格式化SQLServer
- mongodb時間格式化MongoDB
- 如何在langchain中對大模型的輸出進行格式化LangChain大模型
- 專案時間管理各過程的輸入輸出關係
- iOS時間格式化“剛剛、幾分鐘前、幾小時前”等,[包括時間戳&格式化後的時間]...iOS時間戳
- 格式化輸出變數工具變數
- python字串格式化輸出Python字串格式化
- 【Python】格式化字串輸出Python字串
- JavaScript 日期和時間的格式化JavaScript
- iOS時間格式化遇到的坑iOS
- golang 時間加減Golang
- JavaScript時間日期格式化JavaScript
- Python格式化時間Python
- js時間格式化工具JS
- [php]php時間格式化PHP
- 時間相差秒數_Golang 時間操作大全Golang
- python,時間加減,時間計算,時間格式化,時間提取彙總Python
- shell指令碼(3)-格式化輸出指令碼
- Python 字串格式化輸出方式Python字串格式化
- hadoop 自定義格式化輸出Hadoop