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

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

如何使用多種格式循環解析日期?

如何使用多種格式循環解析日期?

Go
慕無忌1623718 2022-06-13 16:09:19
我正在嘗試讀取一個巨大的 csv 文件,其中的日期列具有 2 種可能的非標準格式的值...2015 年 12 月 28 日 -- 月/日/年2013 年 11 月 2 日 -- 月/日/年...意味著中間的一天部分可以是一位數或兩位數。我從這個很好的老問題中學會了如何使用格式:解析不是“標準”格式的日期/時間字符串。但是由于我要循環嘗試解析每一行,所以我一次只能指定一種格式。現在它在查找不同格式的日期值時出錯。也許我可以在 parse-using-format#1 失敗時編寫代碼來捕獲錯誤,然后應用 format#2,而不是出錯。但是有人可以指出我更好/正確的方法嗎?帶有日期字符串數組的示例代碼:https: //play.golang.org/p/aloIQnrkOjKpackage mainimport (    "fmt"    "time")func main() {    const format = "01/02/2006" //mm/dd/yyyy    var list [2]string = [2]string{"12/28/2015", "11/2/2013"}    for _, data := range list {        t, err := time.Parse(format, data)        if err != nil {            fmt.Println("Error is: ", err)        } else {            fmt.Println("Value is: ", t)        }    }}//輸出:值為:2015-12-28 00:00:00 +0000 UTC錯誤是:將“11/2/2013”解析為“01/02/2006”:無法將“2/2013”解析為“02”
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA貢獻1818條經驗 獲得超3個贊

問題中的代碼使用一種格式解析多個日期。問題是其中一個日期與格式不匹配(當天缺少前導零)。通過使前導零可選來修復:

const format = "1/2/2006" // remove zero before day (and month just in case)


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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