日時操作2では特定の日時に対して日数や時間を加減する方法について記載しました。日時操作3では、日時変数同士の計算方法を記載します。
日時変数(DateTime)同士の計算
日時変数同士の計算結果を代入する変数の型は
TimeSpan を使います。
例:1日後から本日(同時刻)を引いた結果を、日にち・時間・分・秒換算で表示します。処理の流れは下記の通りです。
1.本日の日時を取得する
2.1日後の日時を取得する
3.1日後の日時 - 本日の日時の差を取得する
4.上記3の結果を日にち換算する:1と表示される
5.上記3の結果を時間換算する:24と表示される
6.上記3の結果を分換算する:1,440と表示される
7.上記3の結果を秒換算する:86,400と表示される
/* 変数の設定 */;
DateTime dtNow, dtNextDay;
TimeSpan tsDiff;
/* 1.本日の日時を取得する */
dtNow = DateTime.Now;
/* 2.1日後の日時を取得する */
dtNextDay = dtNow.AddDays(1);
/* 3.1日後の日時 - 本日の日時の差を取得する */
tsDiff = dtNextDay - dtNow;
/* メッセージボックスで日時表示 */
MessageBox.Show
(
string.Format
(
"日にち換算: {0}\n時間換算: {1}\n分換算: {2}\n秒換算: {3} "
, tsDiff.TotalDays.ToString() // 4.上記3の結果を日にち換算:1と表示される
, tsDiff.TotalHours.ToString() // 5.上記3の結果を時間換算:24と表示される
, tsDiff.TotalMinutes.ToString("#,##0") // 6.上記3の結果を分換算:1,440と表示される
, tsDiff.TotalSeconds.ToString("#,##0"))); // 7.上記3の結果を秒換算:86,400と表示される
)
)
▽出力結果