日時変数(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と表示される
)
)
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と表示される
)
)
▽出力結果