Skip to content

Esercizi Data e Ora C#

Ecco degli esercizi semplici con soluzione per praticare le basi sull’utilizzo di data e ora in C#.

Esercizio 1

Scrivi un programma che stampi la data e l'ora corrente.
DateTime now = DateTime.Now;
Console.WriteLine("Data e ora corrente: " + now);

Esercizio 2

Scrivi un programma che stampi solo la data corrente nel formato "dd/MM/yyyy".
DateTime today = DateTime.Today;
string formattedDate = today.ToString("dd/MM/yyyy");
Console.WriteLine("Data corrente: " + formattedDate);

Esercizio 3

Scrivi un programma che calcoli la differenza tra due date in giorni.
DateTime data1 = new DateTime(2023, 1, 1);
DateTime data2 = new DateTime(2023, 2, 1);
TimeSpan differenza = data2 - data1;
int giorni = differenza.Days;
Console.WriteLine("Differenza in giorni: " + giorni);

Esercizio 4

Scrivi un programma che aggiunga un certo numero di giorni a una data specifica.
DateTime data = new DateTime(2023, 1, 1);
int giorniDaAggiungere = 10;
DateTime nuovaData = data.AddDays(giorniDaAggiungere);
Console.WriteLine("Nuova data: " + nuovaData);

Esercizio 5

Scrivi un programma che sottragga un certo numero di ore da un'ora specifica.
DateTime ora = new DateTime(2023, 1, 1, 12, 0, 0);
int oreDaSottrarre = 2;
DateTime nuovaOra = ora.AddHours(-oreDaSottrarre);
Console.WriteLine("Nuova ora: " + nuovaOra);

Esercizio 6

Scrivi un programma che verifichi se un anno specifico è bisestile.
int anno = 2024;
bool isBisestile = DateTime.IsLeapYear(anno);
Console.WriteLine("L'anno " + anno + " è bisestile? " + isBisestile);

Esercizio 7

Scrivi un programma che calcoli la differenza di tempo tra due istanti specifici in ore.
DateTime istante1 = new DateTime(2023, 1, 1, 10, 0, 0);
DateTime istante2 = new DateTime(2023, 1, 1, 14, 30, 0);
TimeSpan differenza = istante2 - istante1;
double ore = differenza.TotalHours;
Console.WriteLine("Differenza in ore: " + ore);

Esercizio 8

Scrivi un programma che stampi il nome del giorno della settimana corrente.
DateTime now = DateTime.Now;
string nomeGiorno = now.ToString("dddd", new CultureInfo("it-IT"));
Console.WriteLine("Giorno della settimana: " + nomeGiorno);

Esercizio 9

Scrivi un programma che verifichi se una data specifica cade in un giorno feriale o nel weekend.
DateTime data = new DateTime(2023, 1, 1); // Supponiamo che sia una domenica
DayOfWeek giornoSettimana = data.DayOfWeek;
if (giornoSettimana == DayOfWeek.Saturday || giornoSettimana == DayOfWeek.Sunday)
{
Console.WriteLine("La data cade nel weekend.");
}
else
{
Console.WriteLine("La data cade in un giorno feriale.");
}

Esercizio 10

Scrivi un programma che calcoli l'età di una persona data la sua data di nascita.
DateTime dataNascita = new DateTime(1990, 1, 1);
DateTime oggi = DateTime.Today;
int eta = oggi.Year - dataNascita.Year;
if (oggi < dataNascita.AddYears(eta))
{
eta--;
}
Console.WriteLine("Età: " + eta + " anni.");