Toshusai blog

知識の保管庫

C#で日付を扱う

C#で日付を扱う

System名前空間にあるDateTime構造体で日付を扱うことができる。

using System

コンストラク

引数は年月日が最低必要、時間分秒ミリ秒まで初期化できる。デフォルトでは0。

DateTime date = new DateTime(int year, int month, int day);

今の時間を取得する

DateTime date = DateTime.Now;

年、月、日、曜日、時間、分、秒、ミリ秒、日付を取得する。

曜日の型はDayOfWeek、日付はDateTime、それ以外はInt32。.ToString()で変換しなくても標準出力できるっぽい。

DateTime date = DateTime.Now;
Console.WriteLine(date.Year);       //2017
Console.WriteLine(date.Month);      //11
Console.WriteLine(date.Day);        //6
Console.WriteLine(date.DayOfWeek);  //Monday
Console.WriteLine(date.Hour);       //20
Console.WriteLine(date.Minute);     //50
Console.WriteLine(date.Second);     //18
Console.WriteLine(date.Millisecond);//850
Console.WriteLine(date.Date);       //11/6/2017 12:00:00 AM

日付を使った計算をする

AddDays(double value)で日付を足したりできる、引数を負にすれば引くこともできる。doubleで1.5は1日と12時間を意味する。 似たような構造体のTimeSpanを使えば演算子も使って計算できる。

DateTime date = new DateTime(2017, 11, 6);
TimeSpan span = new TimeSpan(10, 5, 20);
Console.WriteLine(date.AddDays(1.123)); //11/7/2017 7:42:14 AM
Console.WriteLine(date.Add(span));      //11/6/2017 10:05:20 AM
Console.WriteLine(date - span);         //11/5/2017 1:54:40 PM

参考