Usando questa breve guida, capirai come formattare il tempo in Golang usando vari formati e motivi.
Le basi
Usiamo il metodo formato () e passiamo un oggetto temporale come parametro per formattare il tempo in Go. La sintassi della funzione è come mostrata:
FORCO FUNC (T Time) Formato (Stringa di layout) Stringa
La funzione restituirà il valore di tempo formattato al layout specificato. È possibile definire formati personalizzati o utilizzare quelli predefiniti. Questi includono:
I layout usano il tempo di riferimento il 2 gennaio 15:04:05 MST 2006 per indicare il modello in base al quale formattare l'oggetto temporale.
Esempio 1 - Layout personalizzato
Vediamo alcuni esempi di tempo di formattazione usando vari layout personalizzati.
func yyyy_mm_dd ()
Current_time: = Time.Ora()
fmt.Println (current_time.Formato ("2006-01-02"))
Nell'esempio sopra, prendiamo l'ora corrente usando il tempo.Ora () metodo. Successivamente, formatiamo l'ora corrente a YYYY-MM-DD usando la data di riferimento.
Ora possiamo eseguire il codice sopra come mostrato:
$ go run time_format.andare
2022-01-17
Se vogliamo includere la data e l'ora nel sistema a 24 ore, possiamo impostare il formato come mostrato nello snippet di seguito:
Current_time: = Time.Ora()
fmt.Println (current_time.Formato ("2006-01-02 15:04:05")
Il codice sopra dovrebbe restituire l'output come:
2022-01-17 14:46:46
Per visualizzare l'ora nell'orologio da 12 ore, possiamo fare:
Current_time: = Time.Ora()
fmt.Println (current_time.Formato ("2006-01-02 3: 4: 5 pm")
Il codice restituisce l'output come:
2022-01-17 14:47:37 PM
Esempio 2 - Layout predefinito
Puoi anche formattare in base a un layout predefinito passando il layout come stringa al metodo Format ().
Considera i seguenti esempi:
func format_pre_defined ()
Current_time: = Time.Ora()
fmt.Println ("ansic ->", current_time.Formato (tempo.Ansic))
fmt.Println ("unixdate ->", current_time.Formato (tempo.Unixdate))
fmt.Println ("cucina ->", current_time.Formato (tempo.Cucina))
fmt.Println ("rfc3339 ->", current_time.Formato (tempo.RFC3339))
fmt.Println ("rubydate ->", current_time.Formato (tempo.Rubydate))
fmt.Println ("rfc822 ->", current_time.Formato (tempo.RFC822))
fmt.Println ("rfc1123z ->", current_time.Formato (tempo.RFC1123Z))
Una volta eseguito il codice sopra, dovrebbe restituire il tempo corrente formattato in vari formati predefiniti. Un output di esempio è come mostrato:
ANSIC -> MON 17 gennaio 14:56:03 2022
UNIXDATE -> MON 17 gennaio 14:56:03 EAT 2022
Cucina -> 2:56 pm
RFC3339-> 2022-01-17T14: 56: 03+03: 00
Rubydate -> Mon 17 gennaio 14:56:03 +0300 2022
RFC822 -> 17 gennaio 22 14:56 EAT
RFC1123Z -> lun, 17 gennaio 2022 14:56:03 +0300
Chiusura
Questa guida copre le basi della formattazione del tempo nel linguaggio di programmazione GO usando il metodo formato () dal pacchetto temporale.