Formattazione e parsing
Usare il layout di riferimento
Formattazione e parsing è una lezione Go Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Go Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Go Academy include 4 lezioni in totale.
Il layout di riferimento
Go non utilizza codici come %Y. Utilizza invece un unico orario di riferimento come modello:
Mon Jan 2 15:04:05 MST 2006
Scriva la data seguendo esattamente questo layout per descrivere il formato desiderato.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 5, 0, 0, time.UTC)
fmt.Println(t.Format("2006-01-02"))
}Perché proprio questi numeri?
I valori di riferimento contano in avanti: 1=mese, 2=giorno, 3=ora, 4=minuto, 5=secondo, 6=anno, 7=fuso orario. Quindi 1 2 3 4 5 6 = 2 gennaio, 03:04:05, 2006.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 14, 5, 9, 0, time.UTC)
fmt.Println(t.Format("15:04:05"))
}Formattazione di una data
Combini liberamente i componenti del layout con testo letterale e separatori per creare qualsiasi stringa di data.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format("02/01/2006"))
}Componenti denominati
Utilizzi Jan o January per i nomi dei mesi e Mon o Monday per i nomi dei giorni della settimana.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format("Monday, January 2, 2006"))
}Orologio a 12 ore e AM/PM
Utilizzi 3 per l'orologio a 12 ore e PM come indicatore del periodo del giorno.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 14, 30, 0, 0, time.UTC)
fmt.Println(t.Format("3:04 PM"))
}Costanti di layout integrate
Il pacchetto include layout già pronti, come time.RFC3339 e time.Kitchen, così non deve memorizzare le cifre.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 9, 0, 0, 0, time.UTC)
fmt.Println(t.Format(time.RFC3339))
}Analisi di una stringa
time.Parse(layout, value) converte il testo in un time.Time. Il layout descrive la struttura dell'input utilizzando lo stesso orario di riferimento.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02", "2026-05-30")
fmt.Println(t.Year(), t.Month())
}Il layout deve corrispondere all'input
Se il layout non corrisponde alla struttura dell'input, Parse restituisce un errore. Lo controlli sempre.
package main
import (
"fmt"
"time"
)
func main() {
_, err := time.Parse("2006-01-02", "30/05/2026")
if err != nil {
fmt.Println("parse failed")
}
}Analisi degli orari con l'orologio
Includa i campi dell'orario sia nel layout sia nell'input per acquisire ore e minuti.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02 15:04", "2026-05-30 09:05")
fmt.Println(t.Hour(), t.Minute())
}Andata e ritorno
Parse e Format sono operazioni inverse. Può leggere un timestamp, lavorarci e poi formattarlo nuovamente.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse(time.RFC3339, "2026-05-30T09:00:00Z")
fmt.Println(t.Format("Jan 2, 2006"))
}Errore comune: riferimento errato
I principianti spesso scrivono "2020-12-31" come layout. È errato: il layout deve utilizzare i valori di riferimento (2006, 01, 02), non la data dell'esempio.
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2026, 5, 30, 0, 0, 0, 0, time.UTC)
fmt.Println(t.Format("2006/01/02"))
}Verifica rapida
Quale stringa rappresenta la data del layout di riferimento di Go?
Riepilogo: formattazione e analisi
Ha acquisito padronanza del testo temporale:
- I layout utilizzano l'orario di riferimento
2006-01-02 15:04:05. Formatproduce stringhe;Parsele legge.- Utilizzi costanti integrate come
time.RFC3339e controlli sempre gli errori di analisi.
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse("2006-01-02", "2026-05-30")
fmt.Println(t.Format("Monday"))
}Domande Frequenti
La lezione «Formattazione e parsing» è gratuita?
Sì — il testo completo di «Formattazione e parsing» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Go Academy, passa a CoddyKit PRO. Il corso Go Academy include 4 lezioni in totale.
Cosa imparerò in «Formattazione e parsing»?
Usare il layout di riferimento Eserciti Go Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Go Academy?
Non è richiesta alcuna esperienza precedente. Go Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Formattazione e parsing»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Go Academy?
Sì. Ogni lezione Go Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Tempo e durata
- Formattazione e parsing
- Timer e ticker
- Fusi orari