亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

計算 2022-01-14T20:56:55Z 是否是 Go 中的有效日期時間

計算 2022-01-14T20:56:55Z 是否是 Go 中的有效日期時間

Go
米脂 2022-12-13 16:00:44
我正在嘗試創建一個函數來告訴我時間戳是否有效。我的功能看起來像// 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但是,當它是有效時間戳時,傳入返回 false。我在想這可能與我在 time.Parse 中使用的布局有關,但我試過只使用日期但沒有運氣。
查看完整描述

2 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

您的布局與您的輸入字符串不匹配,因此預計不會成功解析。

文檔說

Parse 解析格式化字符串并返回它表示的時間值。請參閱名為 Layout 的常量的文檔,了解如何表示格式。第二個參數必須可以使用作為第一個參數提供的格式字符串(布局)進行解析。

因此,您應該使用與您的輸入匹配的布局。下面,我使用RFC3339,這是您輸入字符串的布局。

if _, err := time.Parse(time.RFC3339, str); err != nil {
    ...
}

https://go.dev/play/p/_Q26NS2wwfy


查看完整回答
反對 回復 2022-12-13
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

2022-01-14T20:56:55Z與布局不匹配,2006-01-02 15:04:05.999因為:

  • 布局在一天后需要一個空白,而不是T

  • 布局要求毫秒正好是三位數字(只給出了兩位55

  • 布局不希望指定時區。Z不是有效的。

您可以2022-01-14T20:56:55Z與布局相匹配2006-01-02T15:04:05.99Z,或2006-01-02T15:04:05Z。或者更好的是,使用傻瓜的答案。


查看完整回答
反對 回復 2022-12-13
  • 2 回答
  • 0 關注
  • 90 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號