Sto provando a formattare l'ora corrente utilizzando questo formato yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Questo sta producendo:
yyyyMMddHHmmss
Eventuali suggerimenti?
Sto provando a formattare l'ora corrente utilizzando questo formato yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Questo sta producendo:
yyyyMMddHHmmss
Eventuali suggerimenti?
Risposte:
Uso
fmt.Println(t.Format("20060102150405"))
poiché Go utilizza le seguenti costanti per formattare la data, fare riferimento qui
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
)
Questa domanda si trova in cima alla ricerca su Google quando trovi "golang current time format" quindi, per tutte le persone che desiderano utilizzare un altro formato, ricorda che puoi sempre chiamare:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Ad esempio, per ottenere l'ora della data corrente come "AAAA-MM-GGTHH: MM: SS" (ad esempio 2019-01-22T12: 40: 55) puoi utilizzare questi metodi con 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())
Come sempre, ricorda che i documenti sono la migliore fonte di apprendimento: https://golang.org/pkg/time/
Il pacchetto Time in Golang ha alcuni metodi che potrebbero valere la pena cercare.
func (ora) Formato
func (t Time) Format (stringa di layout) string Format restituisce una rappresentazione testuale del valore dell'ora formattato in base al layout, che definisce il formato mostrando come l'ora di riferimento,
Mon Jan 2 15:04:05 -0700 MST 2006 sarebbe visualizzato se fosse il valore; serve come esempio dell'output desiderato. Le stesse regole di visualizzazione verranno quindi applicate al valore temporale. I layout predefiniti ANSIC, UnixDate, RFC3339 e altri descrivono rappresentazioni standard e convenienti dell'ora di riferimento. Per maggiori informazioni sui formati e la definizione del tempo di riferimento, vedere la documentazione per ANSIC e le altre costanti definite da questo pacchetto.
Fonte ( http://golang.org/pkg/time/#Time.Format )
Ho anche trovato un esempio di definizione del layout ( 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)
}