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