日付と時刻を表示する

日付と時刻 2012/03/19 0:25:08

本日の日付と現在の時刻を C# の DateTime で取得します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの設定

  1. DateTime.Now で本日の日付と現在の時刻を表示します。
    実行の結果はページの先頭を参照して下さい。
  2. ソースコードです。
    /*★ 日付と時刻を表示     前田 稔 ★*/
    using System;
    
    class Text
    {
        public static void Main()
        {
            string A = DateTime.Now.ToString();
    
            Console.WriteLine("日付と時刻 {0}" ,A);
            Console.ReadLine();
        }
    }
    

【演習】

  1. DateTime. で取得する日付と時刻には、次のメソッドが用意されています。
    取得する属性(文字列型, 整数型)や形式が少しずつ異なるので、表示して試してみて下さい。
    string A = DateTime.Now.ToString() ;              // "2003/01/16 12:08:41"
    string B = DateTime.Now.ToString("F") ;           // "2003年1月16日 12:08:41"
    string C = DateTime.Today.ToString() ;            // "2003/01/16 00:00:00"
    int    D = DateTime.Today.Year ;                  //  2003 (年)
    int    E = DateTime.Today.Month ;                 //     1 (月)
    int    F = DateTime.Today.Day ;                   //    16 (日)
    string G = DateTime.Today.DayOfWeek.ToString() ;  // "Thursday"
    string H = DateTime.Now.TimeOfDay.ToString() ;    // "12:08:41.3146250"
    long   I = DateTime.Now.Ticks ;                   // 1/10000 ミリ秒
    

DateTime.Now で取得

  1. DateTime.Now で「日付と時刻」を取得して DateTime dt; 構造体に格納します。
    dt.Hour と dt.Minute で「時刻:分」を印字します。
  2. ソースコードです。
    /*★ 時刻(時:分)を印字     前田 稔 ★*/
    using System;
    
    class Text
    {
        public static void Main()
        {
            DateTime dt;
            string   str;
            dt= DateTime.Now;
            str= "Time " + dt.Hour + ":" + dt.Minute;
            Console.WriteLine(str);
            Console.ReadLine();
        }
    }
    
  3. 実行の結果です。
    C:\DATA\C#\BAT\Prog1>nowtime
    Time 20:10
    

乱数を使って Sleep() で待ち合わせ

  1. 乱数を使って Sleep() で待ち合わせながら時刻を印字します。
  2. ソースコードです。
    /*★ Sleep() で待ち合わせ     前田 稔 ★*/
    using System;
    
    class Text
    {
        public static void Main()
        {
            Random rand = new Random();
            DateTime dt;
            string   str;
            int      i;
    
            Console.WriteLine("Sleep で待ち合わせながら時刻を印字");
            for(i=0; i<5; i++)
            {   System.Threading.Thread.Sleep(rand.Next(40)*1000);
                dt= DateTime.Now;
                str= "Time " + dt.Minute + ":" + dt.Second;
                Console.WriteLine(str);
            }
        }
    }
    
  3. rand.Next(40) で 0~39 の乱数を発生して、0~39 秒待ち合せています。
    DateTime.Now で時刻を取得して「Time 分:秒」を印字します。
  4. 実行の結果です。
    C:\DATA\C#\BAT\Prog1>sleep
    Sleep で待ち合わせながら時刻を印字
    Time 29:24
    Time 29:30
    Time 29:52
    Time 30:9
    Time 30:19
    

経過時間を印字

  1. EnterKey のタイプを待ち合わせて経過時間を印字します。
  2. ソースコードです。
    /*★ 経過時間を表示     前田 稔 ★*/
    using System;
    
    class Text
    {
        public static void Main()
        {
            DateTime m_dt,dt;
            TimeSpan ts;
            string   str;
            int      i;
    
            m_dt= DateTime.Now;
            for(i=0; i<5; i++)
            {   System.Console.ReadLine();
                dt= DateTime.Now;
                ts= dt-m_dt;
                str= "経過時間 " + (ts.Minutes*60+ts.Seconds) + "秒";
                Console.WriteLine(str);
            }
        }
    }
    
  3. TimeSpan ts; は経過時間を計算する構造体です。
    実行開始から EnterKey がタイプされるまでの時間を計算して印字します。
  4. 実行の結果です。
    C:\DATA\C#\BAT\Prog1>span
    
    経過時間 6秒
    
    経過時間 21秒
    
    経過時間 40秒
    
    経過時間 157秒
    
    経過時間 173秒
    
    C:\DATA\C#\BAT\Prog1>
    

超初心者のプログラム入門(C# Frame Work)