php小編草莓今天為大家介紹Go語言中的日期格式。在Go語言中,日期和時(shí)間的處理是非常重要的,而日期的格式化是我們經(jīng)常需要進(jìn)行的操作之一。Go語言提供了一種簡單而強(qiáng)大的日期格式化方式,可以滿足我們各種各樣的需求。無論是將日期轉(zhuǎn)換為字符串,還是將字符串解析為日期,Go語言都提供了相應(yīng)的函數(shù)和方法來進(jìn)行操作。接下來,讓我們一起來了解一下Go語言中日期格式的相關(guān)知識(shí)吧!
問題內(nèi)容
我需要將 date.time 對(duì)象(utc 字符串)格式化為以下格式“dd/mm/yyyy hh:mm:ss”。我需要循環(huán)遍歷事務(wù)數(shù)組并更改數(shù)組中每個(gè)事務(wù)的 statusdatetime。
我在嘗試該格式時(shí)嘗試了以下方法,但它根本不會(huì)改變?nèi)掌诟袷健?/p>
for _, Transaction := range Transactions { Transaction.StatusDateTime.Format("2006-01-02T15:04:05") }
登錄后復(fù)制
我做錯(cuò)了什么?
解決方法
這個(gè)問題有點(diǎn)混亂。讓我來分解一下。
我需要將 date.time 對(duì)象(utc 字符串)格式化為以下格式“dd/mm/yyyy hh:mm:ss”。
首先,我認(rèn)為你的意思是一個(gè) time.time
對(duì)象。 go 中沒有 date.time
對(duì)象這樣的東西。
其次, time.time
對(duì)象是一個(gè)對(duì)象(無論如何,一個(gè)結(jié)構(gòu)體實(shí)例)。它不是“utc 字符串”。它根本不是一根繩子!它是存儲(chǔ)在內(nèi)存中的任意值。
現(xiàn)在,通過調(diào)用 time.time
的 format
方法,您就走上了正確的道路。但正如您通過閱讀該方法的 godoc 所看到的,它返回一個(gè)字符串。您的代碼示例忽略(因此丟棄)該返回值。
您需要將該值分配到某處,然后大概用它做一些事情:
for _, Transaction := range Transactions { formatted := Transaction.StatusDateTime.Format("2006-01-02T15:04:05") fmt.Println("the formatted time is", formatted) /* Or store the formatted time somewhere, etc */ }
登錄后復(fù)制
我在嘗試該格式時(shí)嘗試了以下方法,但它根本不會(huì)改變?nèi)掌诟袷健?/p>
不是要在這里打敗一匹死馬,但你是對(duì)的,這根本不會(huì)改變格式…或者更準(zhǔn)確地說,time.time
沒有可以改變的格式第一名。