0Pricing
Go Academy · Lezione

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.
  • Format produce stringhe; Parse le legge.
  • Utilizzi costanti integrate come time.RFC3339 e 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

  1. Tempo e durata
  2. Formattazione e parsing
  3. Timer e ticker
  4. Fusi orari
← Torna a Go Academy