You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mchsamples-.net-core/p02_Fondamentaux/ex_004_006_TimeSpan_et_Date.../Program.cs

73 lines
3.6 KiB

// ========================================================================
//
// Copyright (C) 2016-2017 MARC CHEVALDONNE
// marc.chevaldonne.free.fr
//
// Module : Program.cs
// Author : Marc Chevaldonné
// Creation date : 2016-09-22
//
// ========================================================================
using System;
using static System.Console;
namespace ex_004_006_TimeSpan_et_DateTime
{
class Program
{
static void Main(string[] args)
{
OutputEncoding = System.Text.Encoding.UTF8;
//TimeSpan
//construction d'une durée à partir d'un constructeur
TimeSpan durée_d_un_cours = new TimeSpan(1, 50, 00);
//construction d'une durée à partir d'un nombre de minutes (ou heures, ou secondes...)
TimeSpan retard = TimeSpan.FromMinutes(21.20);
//opération (addition, soustraction) de durées
TimeSpan durée_du_cours_aujourd_hui = durée_d_un_cours + retard;
//durée nulle
TimeSpan durée_nulle = TimeSpan.Zero;
//affichage d'une durée
WriteLine($"Le cours d'aujourd'hui est de {durée_d_un_cours} + {retard} de retard = {durée_du_cours_aujourd_hui}");
WriteLine();
//DateTime
//construction d'un DateTime
DateTime débutDeJazzEnTete2012 = new DateTime(2012, 10, 23, 20, 00, 00);
DateTime finDeJazzEnTete2012 = new DateTime(2012, 10, 27, 23, 59, 00);
//soustraction de DateTime
TimeSpan duréeDeJazzEnTete2012 = finDeJazzEnTete2012.Subtract(débutDeJazzEnTete2012);
//affichage de DateTime
WriteLine($"Le festival jazz en tête a duré : {duréeDeJazzEnTete2012}");
WriteLine($"Le festival jazz en tête a duré : {duréeDeJazzEnTete2012.Days} jours et {duréeDeJazzEnTete2012.Hours} heures");
WriteLine($"Le festival jazz en tête a duré : {duréeDeJazzEnTete2012.Days} jours et {Math.Round(duréeDeJazzEnTete2012.TotalHours - (duréeDeJazzEnTete2012.Days * 24))} heures");
//on peut ajouter ou soustraire du temps à 1 DateTime
DateTime débutDernierConcert = finDeJazzEnTete2012 - TimeSpan.FromHours(4);
//autre solution équivalente
débutDernierConcert = finDeJazzEnTete2012.Subtract(TimeSpan.FromHours(4));
WriteLine($"Le dernier concert de Jazz en Tete commence le : {débutDernierConcert.ToString("dd/MM/yyy")} à {débutDernierConcert.ToString("hh:mm")}");
WriteLine();
//gestion des décalages horaires
DateTime début_de_la_finale_de_l_USOpen = new DateTime(2010, 09, 13, 20, 00, 00, DateTimeKind.Utc);
WriteLine($"La finale commencera : {début_de_la_finale_de_l_USOpen.ToLocalTime().ToString("f")} chez nous");
WriteLine($"La finale commencera : {(début_de_la_finale_de_l_USOpen - TimeSpan.FromHours(4)).ToString("g")} à New York");
WriteLine();
//on peut parser une chaîne de caractères !
string date_réjouissances = "jeudi 29 septembre 2011 13:30";
WriteLine("Convertir jeudi 29 septembre 2011 13:30 en DateTime ? oui bien sûr !");
DateTime réjouissances = DateTime.Parse(date_réjouissances);
WriteLine(réjouissances);
//la date et l'heure actuelles (au moment de l'exécution de la ligne)
//est donnée par :
DateTime maintenant = DateTime.Now;
WriteLine($"Maintenant : {maintenant}");
}
}
}