Я намагаюся відформатувати поточний час, використовуючи цей формат yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Це вихід:
yyyyMMddHHmmss
Будь-які пропозиції?
Я намагаюся відформатувати поточний час, використовуючи цей формат yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Це вихід:
yyyyMMddHHmmss
Будь-які пропозиції?
Відповіді:
Використовуйте
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
)
Це питання перебуває у верхній частині пошуку Google, коли ви знайдете "формат поточного часу голанг", тому для всіх, хто хоче скористатися іншим форматом, пам’ятайте, що ви завжди можете зателефонувати на:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Наприклад, щоб отримати поточний час дати як "YYYY-MM-DDTHH: MM: SS" (наприклад, 2019-01-22T12: 40: 55), ви можете використовувати ці методи за допомогою fmt.Sprintf:
t := time.Now()
formatted := fmt.Sprintf("%d-%02d-%02dT%02d:%02d:%02d",
t.Year(), t.Month(), t.Day(),
t.Hour(), t.Minute(), t.Second())
Як завжди, пам’ятайте, що документи - найкраще джерело навчання: https://golang.org/pkg/time/
Часовий пакет в Голангу має деякі методи, які, можливо, варто переглянути.
Формат (час)
func (t Час) Формат (рядок макета) рядок Формат повертає текстове подання значення часу, відформатованого відповідно до макета, яке визначає формат, показуючи, як опорний час,
Пн 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)
}