■ DateTime
日時 => 日付にする
Date で日時を「00:00:00.000」にしてくれる(便利)
// 2011/04/13 0:00:00
this.label1.Text = DateTime.Now.Date.ToString();
■ TimeSpan
* 時間の差の扱い
実装例
サンプルのように記述する方法もあるし、以下のように1行で書いてもいい
DateTime dateTime1 = DateTime.Now;
DateTime dateTime2 = DateTime.Now;
double diff = dateTime1.Subtract(dateTime2).TotalSeconds;
■ サンプル
* 設定した値に対してタイムオーバーしたかどうかを判定するクラス
Timeover.cs
public class Timeover
{
public DateTime Time { get; set; }
double timeover;
public Timeover(double timeover)
{
this.Time = DateTime.Now;
this.timeover = timeover;
}
public bool IsTimeover()
{
TimeSpan timeSpan = DateTime.Now.Subtract(this.Time);
double time = this.timeover - timeSpan.TotalSeconds;
return time < 0;
}
}
Form1.cs
呼び出し側
private Timeover timeover;
private void Form1_Load(object sender, EventArgs e)
{
this.timeover = new Timeover(10);
}
private void button4_Click(object sender, EventArgs e)
{
bool result = this.timeover.IsTimeover();
this.label1.Text = result ? "10秒超えました" : "10秒超えてません";
this.label2.Text = this.timeover.Time.ToString();
}