#18 C#で学ぶ日付と時刻の扱いの基本
C#の日付操作は、`DateTime`という型を使い、分かりやすいメソッド名で操作できるのが特徴です。この記事では、C#における日付の基本的な扱い方と、実務でハマりやすいポイントを解説します。 DateTimeを使う DateTime now = DateTime.Now; Console.WriteLine(now); `DateTime.Now`は実行環境のローカル時刻を返します。サーバーとクライアントで環境が違うアプリでは、後述する`DateTimeOffset`や`DateTime.UtcNow`との使い分けが重要になります。 日付を文字列にする Console.WriteLine(now.ToString("yyyy年MM月dd日")); Console.WriteLine(now.ToString("HH:mm:ss")); `ToString`の引数に渡す書式指定子を変えることで、表示形式を自由にカスタマイズできます。`yyyy`は西暦4桁、`MM`は月(2桁)、`dd`は日(2桁)を表します。よく使う組み合わせは覚えておくと便利です。 文字列から日付に変換する 逆に、文字列を`DateTime`に変換したい場合は`DateTime.Parse`や`DateTime.TryParse`を使います。 string input = "2026-08-18"; if (DateTime.TryParse(input, out DateTime result)) { Console.WriteLine(result); } `Parse`は変換に失敗すると例外を投げますが、`TryParse`は失敗時に`false`を返すだけなので、ユーザー入力のように形式が保証されていない値を扱う場合は`TryParse`を使うのが安全です。 日付を計算する DateTime threeDaysLater = now.AddDays(3); DateTime lastMonth = now.AddMonths(-1); TimeSpan diff = threeDaysLater - now; `AddDays`や`AddMonths`は負の値を渡すことで過去方向への計算も...