2019. november 12., kedd

2019.11.12. Dátum-idő típus

Az eddigi leckéket tudni kell, várható, hogy számonkérés lesz belőle.

Ezt a leckét nem fogom számonkérni, az idén még nem törzsanyag.

namespace _dateTime
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime minDate = DateTime.MinValue;
            Console.WriteLine("minimális dátum: {0}", minDate);
            DateTime maiDatum = DateTime.Now;
            Console.WriteLine("mai dátum, idő: {0}", maiDatum);
            Console.Write("Tegnapi dátum (év.hó.nap): ");
            DateTime tegnapiDatum = Convert.ToDateTime(Console.ReadLine());
      
            Console.Write("Kérem a születési dátumod (év.hó.nap): ");
            DateTime szulDatum = Convert.ToDateTime(Console.ReadLine());
            Console.WriteLine("Születési dátum: {0}", szulDatum);
            Console.Write("Hány óra van? (óra:perc:másodperc):");
            DateTime ido = Convert.ToDateTime(Console.ReadLine());
            Console.WriteLine("ido: {0}", ido);

            string maiDatumIdo = DateTime.Now.ToString("yyyyMMdd_HHmm");
            Console.WriteLine("Jelenlegi dátum és idő szövegesen: {0}", maiDatumIdo);

            int ev = 2017;
            int honap = 01;
            int nap = 03;
            int ora = 15;
            int perc = 20;
            int masodPerc = 23;
            DateTime dt = new DateTime(ev, honap, nap, ora, perc, masodPerc);
            Console.WriteLine("Dátum és idő 6 változóból: {0}", dt);
            DateTime d = new DateTime(ev, honap, nap);
            Console.WriteLine("Ebből a dátum: {0} - mint látszik, kiírja az időt is", dt); //kiírja az időt is
            //Ez nem jó, mert 3 paraméterrel csak a dátumot lehet kiírni:
            //DateTime t = new DateTime(ora, perc, masodPerc); a debugger kideríti, hogy nincs 20. hónap
            //Ez sem jó:
            //DateTime tr = new DateTime(ora, perc); két paraméter nem elég értékadásnál

            TimeSpan elteltIdo = maiDatum - tegnapiDatum;   //a mai nap-idő és a tegnapi nap-idő között eltelt idő
            Console.WriteLine("Eltelt idő a mai és a tegnapi nap között: {0}", elteltIdo);
            int elteltNap = elteltIdo.Days;
            Console.WriteLine("Eltelt napok a mai és a tegnapi nap között: {0}", elteltNap);

            elteltIdo = maiDatum - szulDatum;   //a mai nap-idő és a születési nap-idő között eltelt idő
            Console.WriteLine("Eltelt idő a születésed és a mai nap között: {0}", elteltIdo);
          
            elteltNap = elteltIdo.Days;
            int elteltOra = elteltIdo.Hours;
            int elteltPerc = elteltIdo.Minutes;
            int elteltMasodPerc = elteltIdo.Seconds;
            int elteltEzredMasodPerc = elteltIdo.Milliseconds;

            Console.WriteLine("Eltelt napok a születésed és a mai nap között: {0}", elteltNap);
            Console.WriteLine("Ezen felül az eltelt órák: {0}", elteltOra);
            Console.WriteLine("Ezen felül az eltelt percek: {0}", elteltPerc);
            Console.WriteLine("Ezen felül az eltelt másodpercek: {0}", elteltMasodPerc);
            Console.WriteLine("Ezen felül az eltelt ezredmásodpercek: {0}", elteltEzredMasodPerc);

            Console.WriteLine("Ennyi éves vagy: {0}", elteltNap/365);
           
            Console.ReadLine();
        }
    }
}


4 megjegyzés: