Golang の日付操作 time.Parse() がうまくいかない

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)