我正在嘗試創(chuàng)建一個函數(shù)來告訴我時間戳是否有效。我的功能看起來像// IsTimestamp checks if a string contains a timestamp.func IsTimestamp(str string) bool { _, err := time.Parse("2006-01-02 15:04:05.999", str) if err != nil { return false } return true}2022-01-14T20:56:55Z但是,當(dāng)它是有效時間戳?xí)r,傳入返回 false。我在想這可能與我在 time.Parse 中使用的布局有關(guān),但我試過只使用日期但沒有運(yùn)氣。
2 回答

不負(fù)相思意
TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個贊
您的布局與您的輸入字符串不匹配,因此預(yù)計(jì)不會成功解析。
文檔說:
Parse 解析格式化字符串并返回它表示的時間值。請參閱名為 Layout 的常量的文檔,了解如何表示格式。第二個參數(shù)必須可以使用作為第一個參數(shù)提供的格式字符串(布局)進(jìn)行解析。
因此,您應(yīng)該使用與您的輸入匹配的布局。下面,我使用RFC3339,這是您輸入字符串的布局。
if _, err := time.Parse(time.RFC3339, str); err != nil { ... }
https://go.dev/play/p/_Q26NS2wwfy
- 2 回答
- 0 關(guān)注
- 82 瀏覽
添加回答
舉報(bào)
0/150
提交
取消