Форматировать время месяц в заглавную букву

#go #time

#Вперед #время

Вопрос:

Я хочу отформатировать время в

2006/JAN/hello02JAN2006file.csv.zip

Он содержит название месяца с заглавной буквы,

скажем downloadDate , это time.Time

downloadDate.Format("2006/JAN/hello02JAN2006file.csv.zip") не будет преобразовываться JAN в название месяца, так как он не будет анализировать ЯНВАРЬ, ему понадобится Jan , если я его дам Jan , тогда название месяца также будет таким ( Apr , May , …), пока мне нужно APR или MAY

мое решение для работы здесь — заменить JAN с помощью строк.Метод замены

 strings.Replace(downloadDate.Format("2006/JAN/hello02JAN2006file.csv.zip"), "JAN", strings.ToUpper(downloadDate.Format("Jan")), -1)
  

я что-то упускаю вовремя.Time doc или выше — единственный способ добиться этого?

Комментарии:

1. Я полагаю, что вы ничего не упускаете в документе, сопоставление месяцев в макете учитывается с учетом регистра, и ваше решение кажется мне верным.

2. github.com/golang/go/blob/master/src/time/format.go#L154-L162

3. да, я знаю, для go весьма прискорбно, что мы не можем использовать модификаторы даты, которые намного мощнее, или есть какое-то преимущество в использовании layout