Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
日時.ToString() / 日時.AddDays()
日時を指定した書式の文字列に変換する『ToString()』と、日時に日数・時間などを加減算する『AddDays()』などのメソッドです。
構文
// 日時を書式指定で文字列化します。 string s = 日時.ToString(string format); // 日数を加算します(負の値で減算)。 DateTime 新日時 = 日時.AddDays(double value); // その他の加算メソッドも同じ形式です。 DateTime 新日時 = 日時.AddHours(double value); DateTime 新日時 = 日時.AddMinutes(double value); DateTime 新日時 = 日時.AddMonths(int months); DateTime 新日時 = 日時.AddYears(int years);
メソッド一覧
| メソッド | 概要 |
|---|---|
| ToString("yyyy/MM/dd") | 年月日を / 区切りで出力します(例:2024/01/15)。 |
| ToString("yyyy年M月d日") | 日本語形式で出力します(例:2024年1月15日)。 |
| ToString("HH:mm:ss") | 時刻を24時間形式で出力します(例:14:30:00)。 |
| AddDays(n) | n 日後の日時を返します。負の値で n 日前になります。元の日時は変更されません。 |
| AddMonths(n) | n ヶ月後の日時を返します。 |
| AddYears(n) | n 年後の日時を返します。 |
| AddHours(n) | n 時間後の日時を返します。 |
サンプルコード
using System;
DateTime 今 = new DateTime(2024, 1, 15, 14, 30, 45);
// ToString() で書式を指定して文字列化します。
Console.WriteLine(今.ToString("yyyy/MM/dd")); // 2024/01/15
Console.WriteLine(今.ToString("yyyy年M月d日")); // 2024年1月15日
Console.WriteLine(今.ToString("HH:mm:ss")); // 14:30:45
Console.WriteLine(今.ToString("yyyy/MM/dd HH:mm")); // 2024/01/15 14:30
Console.WriteLine(今.ToString("yyyyMMdd")); // 20240115
// 文字列補間でも書式指定が使えます。
Console.WriteLine($"{今:yyyy年M月d日(ddd)}"); // 2024年1月15日(Mon)
// AddDays() で日数を加算します。
DateTime 明後日 = 今.AddDays(2);
Console.WriteLine(明後日.ToString("yyyy/MM/dd")); // 2024/01/17
// 負の値で減算します。
DateTime 昨日 = 今.AddDays(-1);
Console.WriteLine(昨日.ToString("yyyy/MM/dd")); // 2024/01/14
// 月・年・時間も加算できます。
Console.WriteLine(今.AddMonths(3).ToString("yyyy/MM/dd")); // 2024/04/15
Console.WriteLine(今.AddYears(1).ToString("yyyy/MM/dd")); // 2025/01/15
Console.WriteLine(今.AddHours(8).ToString("HH:mm")); // 22:30
概要
『AddDays()』などの加算メソッドは元の DateTime 値を変更しません。戻り値として新しい DateTime を返すため、必ず変数に代入して使用してください。
書式文字列では yyyy(4桁年)、MM(2桁月)、dd(2桁日)、HH(24時間制時)が基本です。M(大文字)は月、m(小文字)は分になるため、大文字・小文字を間違えると意図しない出力になります。
2つの日時の差分計算には『TimeSpan / 日時の差分計算』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。