3 ответов:
использовать
fmt.Println(t.Format("20060102150405"))как Go использует следующие константы для форматирования даты, см. здесь
const ( stdLongMonth = "January" stdMonth = "Jan" stdNumMonth = "1" stdZeroMonth = "01" stdLongWeekDay = "Monday" stdWeekDay = "Mon" stdDay = "2" stdUnderDay = "_2" stdZeroDay = "02" stdHour = "15" stdHour12 = "3" stdZeroHour12 = "03" stdMinute = "4" stdZeroMinute = "04" stdSecond = "5" stdZeroSecond = "05" stdLongYear = "2006" stdYear = "06" stdPM = "PM" stdpm = "pm" stdTZ = "MST" stdISO8601TZ = "Z0700" // prints Z for UTC stdISO8601ColonTZ = "Z07:00" // prints Z for UTC stdNumTZ = "-0700" // always numeric stdNumShortTZ = "-07" // always numeric stdNumColonTZ = "-07:00" // always numeric )
я закодировал пакет для этого usecase https://github.com/vjeantet/jodaTime
date := jodaTime.Format("YYYY.MM.dd", time.Now()) fmt.Println(date)Это позволяет анализировать и форматировать время.Время после раскладки jodaTime: http://joda-time.sourceforge.net/apidocs/org/joda/time/format/DateTimeFormat.html
пакет времени в Golang имеет некоторые методы, которые могут быть стоит посмотреть.
func (Time) Format
func (T Time) формат (строка макета) строка Формат возвращает текстовое представление значения времени, отформатированного в соответствии с макетом, который определяет формат, показывая, как опорное время,
Пн янв 2 15: 04:05 -0700 MST 2006 будет отображаться, если это значение; он является примером желаемого результата. Тот же затем к значению времени будут применены правила отображения. Предопределенные макеты ANSIC, UnixDate, RFC3339 и другие описывают стандартные и удобные представления опорного времени. Дополнительные сведения о форматах и определении опорного времени см. В документации по ANSIC и другим константам, определенным этим пакетом.
Источник (http://golang.org/pkg/time/#Time.Format)
Я также нашел пример определения макет (http://golang.org/src/pkg/time/example_test.go)
func ExampleTime_Format() { // layout shows by example how the reference time should be represented. const layout = "Jan 2, 2006 at 3:04pm (MST)" t := time.Date(2009, time.November, 10, 15, 0, 0, 0, time.Local) fmt.Println(t.Format(layout)) fmt.Println(t.UTC().Format(layout)) // Output: // Nov 10, 2009 at 3:00pm (PST) // Nov 10, 2009 at 11:00pm (UTC) }
Comments