C# Academy · Lezione

Formattazione delle date

Formati personalizzati e standard.

Lezione 2 di 413 passaggi

Formattazione delle date è una lezione C# 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 C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.

Perché formattare le date

Un DateTime non formattato viene visualizzato utilizzando la cultura predefinita del computer, che potrebbe non essere quella desiderata.

La formattazione consente di controllare esattamente l'aspetto di una data: 2024-03-05, 05/03/2024 o Tuesday, March 5. C# offre stringhe di formato standard e personalizzate.

ToString con un modello

Lo strumento più flessibile è ToString con una stringa di formato personalizzata. Ogni lettera rappresenta una componente della data.

Ad esempio, "yyyy-MM-dd" produce un formato anno-mese-giorno che si ordina facilmente ed è semplice da leggere.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToString("yyyy-MM-dd"));
    }
}

Lettere per anno, mese e giorno

Le lettere di formato distinguono tra maiuscole e minuscole. yyyy indica un anno di quattro cifre, MM un mese di due cifre e dd un giorno di due cifre.

Utilizzi la M maiuscola per il mese; la m minuscola indica i minuti. Confonderle è un errore comune tra i principianti.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToString("dd/MM/yyyy"));
    }
}

Ore, minuti e secondi

Per la componente dell'ora, HH indica il formato a 24 ore, mm i minuti e ss i secondi.

La hh minuscola utilizza il formato a 12 ore e si combina con tt per indicare AM o PM.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.ToString("HH:mm:ss"));
    }
}

Orologio a 12 ore con AM/PM

Per visualizzare un'ora a 12 ore in modo intuitivo, combini hh:mm con tt. Lo specificatore tt stampa AM o PM.

In questo modo 14:30 diventa 02:30 PM, un formato che molti lettori trovano più semplice rispetto a un valore a 24 ore.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.ToString("hh:mm tt"));
    }
}

Nomi dei mesi e dei giorni

È possibile scrivere i nomi invece dei numeri. MMMM restituisce il nome completo del mese, mentre MMM ne restituisce una forma abbreviata.

Per i giorni della settimana, dddd indica il nome completo del giorno e ddd la relativa abbreviazione.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToString("dddd, MMMM dd"));
    }
}

Specificatori di formato standard

Oltre ai modelli personalizzati, C# offre brevi codici standard. "d" indica una data breve, "D" una data estesa, "t" un'ora breve e "T" un'ora estesa.

Questi codici seguono la cultura corrente, quindi l'aspetto esatto può variare a seconda della regione.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.ToString("D"));
    }
}

Metodi di utilità brevi e completi

Esistono anche metodi di utilità. ToShortDateString e ToShortTimeString restituiscono un output sintetico, mentre ToLongDateString esplicita tutti i dettagli.

Sono rapidi, ma per avere il pieno controllo preferisca una stringa di formato esplicita.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToShortDateString());
    }
}

Formattazione nell'interpolazione

All'interno di una stringa interpolata è possibile inserire un formato dopo i due punti. Scrivendo {d:yyyy-MM-dd}, si formatta il valore direttamente nel punto in cui compare.

Questo mantiene il codice breve e leggibile durante la costruzione dei messaggi.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine($"Date: {d:yyyy-MM-dd}");
    }
}

Output indipendente dalla cultura

Per i dati che memorizza o invia tra sistemi, usi CultureInfo.InvariantCulture per fare in modo che il risultato non dipenda mai dalle impostazioni locali dell'utente.

Questo evita sorprese: lo stesso codice potrebbe produrre un output diverso su un'altra macchina.

using System;
using System.Globalization;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5);
        Console.WriteLine(d.ToString("yyyy-MM-dd", CultureInfo.InvariantCulture));
    }
}

Il formato round-trip

Il formato standard "o" (round-trip) produce una stringa ISO 8601 che conserva ogni dettaglio, comprese le frazioni di secondo.

È la scelta più sicura quando in seguito è necessario interpretare nuovamente una data senza perdere precisione.

using System;

class Program
{
    static void Main()
    {
        DateTime d = new DateTime(2024, 3, 5, 14, 30, 0);
        Console.WriteLine(d.ToString("o"));
    }
}

Verifica rapida

Desidera un mese a due cifre all'interno di una stringa di formato personalizzata. Quale identificatore di formato è corretto?

Riepilogo

È possibile formattare le date con ToString e modelli personalizzati come yyyy, MM, dd, HH e mm.

I codici standard come "d" e "D" seguono la cultura, mentre InvariantCulture e il formato round-trip "o" mantengono l'output stabile tra i sistemi.

Gratis per iniziare

Impara C# con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
93
Lezioni
346

Domande Frequenti

La lezione «Formattazione delle date» è gratuita?

Sì — il testo completo di «Formattazione delle date» è 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 C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.

Cosa imparerò in «Formattazione delle date»?

Formati personalizzati e standard. Eserciti C# 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 C# Academy?

Non è richiesta alcuna esperienza precedente. C# 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 delle date»?

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 C# Academy?

Sì. Ogni lezione C# 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. Creare DateTime
  2. Formattazione delle date
  3. TimeSpan e durate
  4. Aritmetica delle date
← Torna a C# Academy