Voici un exemple de terrain de jeu du fonctionnement du formatage de la date. Il s'agit à la fois de convertir une chaîne en heure et d'imprimer une heure dans un format spécifique. play.golang.org/p/qK6_9KNJNx
Nitesh
Réponses:
242
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)
en fait, le format golang est très étrange. pourquoi ne pas utiliser le style aaaammjjHHiiss, mais utiliser le "" 2006/01/02/15/04/05 ", je n'ai pas compris la vraie raison
Kewin
11
La chaîne de mise en page est une représentation de l'horodatage, 2 janvier 15:04:05 2006 MST. Un moyen facile de se souvenir de cette valeur est qu'elle contient, lorsqu'elle est présentée dans cet ordre, les valeurs (alignées avec les éléments ci-dessus): 1 2 3 4 5 6 -7 De golang.org/src/time/example_test.go
kakilangit
28
Technique mnémotechnique pour ceux en dehors des États-Unis: imaginez ce que vous faisiez le 2 janvier 2006, à peine cinq secondes après 15h04, mais imaginez que cela se passe au Burkina Faso (UTC -7). La prochaine fois que vous aurez besoin de formater une date, souvenez-vous simplement de cet événement particulier (!)
Enrico
3
Je ne connaissais pas le mnémonique séquentiel, pratique, mais allez pourquoi n'est-ce pas le 1er février ...
silasdavis
4
Donc, tout ce dont je dois me souvenir, c'est d'aligner la date dans l'ordre mois-jour-année, puis de coller l'heure au milieu, et de mettre le fuseau horaire après l'année, et cela devient très facile à retenir. Soigné. Quelqu'un a un mnémonique pour se souvenir de l'ordre de ce mnémonique ..?
Joey Sabey
20
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:
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.
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)}
Réponses:
Utilisation
comme Go utilise les constantes suivantes pour formater la date, reportez-vous ici
la source
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 à:
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:
Comme toujours, rappelez-vous que les documents sont la meilleure source d'apprentissage: https://golang.org/pkg/time/
la source
Le paquet de temps dans Golang a quelques méthodes qui pourraient valoir la peine d'être examinées.
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 )
la source
donne:
la source