Golang の日付関連の操作については下記参考。
time.Parse() でのよくあるエラー
parsing time "2019.08.01 12時23分45秒" as "2006/01/02 15:04:05": cannot parse ".08.01 12時23分45秒" as "/"
str := "2019.08.01 12時23分45秒"
t, err := time.Parse("2006/01/02 15:04:05", str)
// ↓ フォーマットの形を記法以外の部分も全て合わせる
t, err := time.Parse("2006.01.02 15時04分05秒", str)
parsing time "2019/08/01 12:23:45": extra text: 12:23:45
str := "2019/08/01 12:23:45"
t, err := time.Parse("2006/01/02", str)
// ↓ フォーマットの形を記法以外の部分も全て合わせる
t, err := time.Parse("2006/01/02 15:04:05", str)
cannot parse "1" as "02"
str := "2019/08/1"
t, err := time.Parse("2006/01/02", str)
// ↓ 日のフォーマット記法を合わせる。10以上の数字だと 2, 02 どちらでも可
t, err := time.Parse("2006/01/2", str)
month out of range
str := "2019/8/01"
t, err := time.Parse("2006/01/02", str)
// ↓ 月のフォーマット記法を合わせる。10以上の数字だと 1, 01 どちらでも可
t, err := time.Parse("2006/1/02", str)
parsing time "2019/08/01" as "2006/Jan/02": cannot parse "08/01" as "Jan"
str := "2019/08/01"
// ↓ 月のフォーマット記法を合わせる。大文字・小文字は区別しない
str := "2019/Oct/01"
t, err := time.Parse("2006/Jan/02", str)