J'essaye de formater l'heure actuelle en utilisant ce format yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Cela produit:
yyyyMMddHHmmss
Aucune suggestion?
J'essaye de formater l'heure actuelle en utilisant ce format yyyyMMddHHmmss
.
t := time.Now()
fmt.Println(t.Format("yyyyMMddHHmmss"))
Cela produit:
yyyyMMddHHmmss
Aucune suggestion?
Réponses:
Utilisation
fmt.Println(t.Format("20060102150405"))
comme Go utilise les constantes suivantes pour formater la date, reportez-vous ici
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
)
Cette question vient en haut de la recherche Google lorsque vous trouvez "format d'heure actuelle golang", donc, pour toutes les personnes qui souhaitent utiliser un autre format, rappelez-vous que vous pouvez toujours appeler à:
t := time.Now()
t.Year()
t.Month()
t.Day()
t.Hour()
t.Minute()
t.Second()
Par exemple, pour obtenir l'heure actuelle sous la forme "AAAA-MM-JJTHH: MM: SS" (par exemple 2019-01-22T12: 40: 55), vous pouvez utiliser ces méthodes avec 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())
Comme toujours, rappelez-vous que les documents sont la meilleure source d'apprentissage: https://golang.org/pkg/time/
Le paquet de temps dans Golang a quelques méthodes qui pourraient valoir la peine d'être examinées.
Format func (heure)
func (t Time) Format (chaîne de mise en page) string Format renvoie une représentation textuelle de la valeur de temps formatée selon la mise en page, qui définit le format en montrant comment l'heure de référence,
Mon Jan 2 15:04:05 -0700 MST 2006 serait affiché s'il s'agissait de la valeur; il sert d'exemple de la sortie souhaitée. Les mêmes règles d'affichage seront alors appliquées à la valeur de temps. Les dispositions prédéfinies ANSIC, UnixDate, RFC3339 et d'autres décrivent des représentations standard et pratiques de l'heure de référence. Pour plus d'informations sur les formats et la définition de l'heure de référence, consultez la documentation de l'ANSIC et les autres constantes définies par ce package.
Source ( http://golang.org/pkg/time/#Time.Format )
J'ai également trouvé un exemple de définition de la mise en page ( 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)
}