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 domenicaDayOfWeek 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.");