慕的地8271018
2022-08-15 16:38:25
去菜鳥這里,我想做的就是使用時間格式常量列表 https://golang.org/src/time/format.go,這些常量在SO上的3篇文章中提到的(https://stackoverflow.com/a/20234207 https://stackoverflow.com/a/14106561 https://stackoverflow.com/a/20234207)。包括文檔(至少我能說)都沒有如何使用它們的例子。我希望這能起作用(但它顯然不起作用):t := time.Now()log.Println(t.stdHour12()) 您能告訴我如何在給定時間t(例如:2021-03-09 22:45:04.009063861 -0500 EST)中僅獲取小時(以12小時為單位)嗎?const ( stdLongMonth = "January" stdMonth = "Jan" stdNumMonth = "1" stdZeroMonth = "01" stdLongWeekDay = "Monday" stdWeekDay = "Mon" stdDay = "2" stdUnderDay = "_2" stdZeroDay = "02" stdHour = "15" stdHour12 = "3" stdZeroHour12 = "03" stdMinute = "4" stdZeroMinute = "04" stdSecond = "5" stdZeroSecond = "05" stdLongYear = "2006" stdYear = "06" stdPM = "PM" stdpm = "pm" stdTZ = "MST" stdISO8601TZ = "Z0700" // prints Z for UTC stdISO8601ColonTZ = "Z07:00" // prints Z for UTC stdNumTZ = "-0700" // always numeric stdNumShortTZ = "-07" // always numeric stdNumColonTZ = "-07:00" // always numeric)提前致謝!編輯:從到目前為止收到的答案中,我發現我無法使用上面的常量來實現我想要的東西,所以我改變了這個問題的措辭,專門要求在給定的時間內返回小時(并且只是小時)。
2 回答

狐的傳說
TA貢獻1804條經驗 獲得超3個贊
該對象指定完整的日期和時間。如果您愿意,可以只提取時間:Time
func main() {
t := time.Now()
fmt.Println(t.Format(time.Kitchen))
}
time.Kitchen在包中定義為timeKitchen = "3:04PM"
如果您想了解格式的解釋方式,請仔細閱讀此文檔
如果只需要小時,請在對象上調用該方法。如果你想要12小時格式,你可以只做模12:Hour()Time
func main() {
t := time.Now()
fmt.Println(t.Hour())
fmt.Println(t.Hour() % 12)
}

慕后森
TA貢獻1802條經驗 獲得超5個贊
這些是表示通過在包中格式化代碼在內部使用的令牌的常量(請注意,它們以較小的字母開頭,因此它們不會被導出,您甚至不能在包外部使用它們)。timetime
如果你想在Go中提出自己的格式(用于解析和輸出),你只需使用這些標記“作為示例”定義它,然后解析它并將該格式(如果有效)應用于自身。Format()
const (
MyLayout = "3"
)
func main() {
t := time.Now()
fmt.Println(t.Format(MyLayout))
}
例如,此處列出了可用的令牌。
- 2 回答
- 0 關注
- 171 瀏覽
添加回答
舉報
0/150
提交
取消