カテゴリ: C# 更新日: 2025/12/01

C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド

C#の日付型(DateTime)と基本的な使い方を解説
C#の日付型(DateTime)と基本的な使い方を解説

先生と生徒の会話形式で理解しよう

生徒

「プログラムで日付や時間を使いたいんですけど、C#ではどうやって扱うんですか?」

先生

「C#では、DateTimeという日付と時間を扱うための便利な型が用意されています。」

生徒

「日付型ってどんなことができるんですか?現在時刻を表示したりできますか?」

先生

「もちろんできますよ。では、DateTimeの基本的な使い方から見ていきましょう。」

1. C#の日付型(DateTime)とは?

1. C#の日付型(DateTime)とは?
1. C#の日付型(DateTime)とは?

C#のDateTime型は、日付や時間を扱うための基本的なデータ型です。カレンダーのように「何年・何月・何日」を表すだけでなく、「何時・何分・何秒」といった時刻まで記録できます。日付計算や表示形式の変更など、日常の時間操作に必要な機能をひととおり備えているため、C#の日付操作ではもっともよく利用される型です。

プログラムの中では、書類の作成日を表示したり、ゲームの内部時間を管理したり、ログに記録する時刻を残したりするときに使われます。人間が時計やカレンダーを見るのと同じように、パソコンが時間を理解するための“辞書”のような役割を持っています。

2. 現在の日付と時刻を取得する方法

2. 現在の日付と時刻を取得する方法
2. 現在の日付と時刻を取得する方法

C#で「今の時間」を知りたい場合は、DateTime.Nowを使います。このプロパティは、パソコンが持つ現在の時刻情報をそのまま返してくれます。時計を見て「今は何時かな?」と確認するのと同じような感覚で利用できます。


DateTime now = DateTime.Now;
Console.WriteLine(now);

2025/11/16 23:12:45

このように、日付と時刻がひとまとまりの情報として取得できます。表示形式は環境によって異なりますが、多くの場合「年/月/日 時:分:秒」という形になります。

3. 特定の日付を作成する方法

3. 特定の日付を作成する方法
3. 特定の日付を作成する方法

自分で好きな日付を指定して作りたい場合は、DateTimeのコンストラクタを使います。たとえば、2024年1月1日を作るときは次のようになります。


DateTime day = new DateTime(2024, 1, 1);
Console.WriteLine(day);

2024/01/01 0:00:00

このように、年・月・日の順に指定することで、自由に日付を作成できます。時刻まで指定したい場合は、「年・月・日・時・分・秒」といった形で細かく設定できます。

4. 日付から年・月・日・時刻を取り出す方法

4. 日付から年・月・日・時刻を取り出す方法
4. 日付から年・月・日・時刻を取り出す方法

DateTimeから特定の情報だけを抜き出すこともよくあります。たとえば、誕生日から「年だけ取る」「月だけ取る」などの操作ができます。これは、YearMonthDayなどのプロパティを使うことで簡単に取得できます。


DateTime dt = new DateTime(2025, 11, 16, 15, 30, 0);

Console.WriteLine(dt.Year);
Console.WriteLine(dt.Month);
Console.WriteLine(dt.Day);
Console.WriteLine(dt.Hour);
Console.WriteLine(dt.Minute);

2025
11
16
15
30

このように、カレンダーの情報を細かく取り出して使えるため、画面表示に使ったり、条件分岐に利用したりすることができます。

5. 日付の計算をする方法(加算・減算)

5. 日付の計算をする方法(加算・減算)
5. 日付の計算をする方法(加算・減算)

日付に日数を足したり、時間を引いたりする操作もよく使われます。C#では、AddDaysAddHoursなどのメソッドを使うことで簡単に計算できます。締切日を計算したり、○日後・○日前を求める場合に便利です。


DateTime today = DateTime.Now;

DateTime threeDaysLater = today.AddDays(3);
DateTime twoHoursBefore = today.AddHours(-2);

Console.WriteLine(threeDaysLater);
Console.WriteLine(twoHoursBefore);

2025/11/19 ~
2025/11/16 ~(2時間前)

引き算をしたい場合は、マイナスの値を入れるだけなので、とても直感的に使えます。

6. 日付の書式を整えて表示する方法(フォーマット)

6. 日付の書式を整えて表示する方法(フォーマット)
6. 日付の書式を整えて表示する方法(フォーマット)

日付を表示するとき、「2025/11/16」ではなく「2025年11月16日」のように整えたいことがあります。このような場合は、ToString()に書式(フォーマット)を指定します。


DateTime now = DateTime.Now;
string formatted = now.ToString("yyyy年MM月dd日 HH時mm分ss秒");
Console.WriteLine(formatted);

2025年11月16日 23時12分45秒

フォーマットを変更することで、画面表示やログ出力をより読みやすくできます。プログラミングでは非常によく使うテクニックです。

7. 文字列の日付をDateTimeに変換する方法(Parse)

7. 文字列の日付をDateTimeに変換する方法(Parse)
7. 文字列の日付をDateTimeに変換する方法(Parse)

ユーザーが入力した文字列をそのまま使うのではなく、DateTimeに変換したい場面もあります。例えば、「2025/11/16」という文字列をDateTimeに変換するには、DateTime.Parseを使います。


string text = "2025/11/16";
DateTime dt = DateTime.Parse(text);
Console.WriteLine(dt);

2025/11/16 0:00:00

正しい日付形式であれば自動で変換できます。入力フォームを作るときなどに役立ちます。

まとめ

まとめ
まとめ

DateTime型の基礎を押さえて日付操作の理解を深める

C#の日付型であるDateTimeは、日付と時刻をひとまとめで扱える便利な型であり、プログラムのさまざまな場面で活用されます。今回の記事では、現在時刻の取得、特定日付の作成、日付の分解、日付の加算・減算、フォーマットでの表示変更、文字列から日付への変換など、DateTimeの基本的でありながら必ず知っておきたい操作をひととおり学びました。 日付は単に表示するだけではなく、締切日を計算したり、予約時刻を比較したり、ログに正確な時間を残したりするなど、実際のシステム開発に欠かせない値です。そのため、DateTime型の特徴や使い方を理解しておくことは、今後のC#学習において大きな財産になります。とくにAddDaysAddHoursのような直感的なメソッドは、一度覚えてしまえばさまざまな場面で応用できます。

日付フォーマットと文字列変換は実務でも必須の技術

文章として日付を整形したいときには、ToString()に書式を指定する方法が非常に強力です。「yyyy/MM/dd」や「yyyy年MM月dd日 HH時mm分ss秒」など、用途に合わせて自在に書式を変更できます。これによって、ログ出力、レポート作成、画面表示などがより読みやすい形になります。また、ユーザー入力を扱う場面では、文字列をDateTime.Parseで変換する必要があります。正しい形式であれば簡単にDateTimeへ変換できるため、入力チェックやフォーム処理にも役立ちます。 表示形式の変換だけではなく、日付の加算・減算を行うことで「○日後」「○日前」「指定時刻の○時間後」のような計算が自然に書ける点もDateTimeの大きな魅力です。実務でも頻繁に扱う機能のため、今回の知識をしっかり身につけておくと、日付操作の幅が大きく広がります。

まとめ用サンプルコード(基礎〜応用まで)


using System;

class Program
{
    static void Main()
    {
        // 現在の日付と時刻を取得
        DateTime now = DateTime.Now;
        Console.WriteLine("現在:" + now.ToString("yyyy/MM/dd HH:mm:ss"));

        // 特定の日付の作成
        DateTime birthday = new DateTime(1995, 7, 20);
        Console.WriteLine("誕生日:" + birthday.ToString("yyyy年MM月dd日"));

        // 日付の加算・減算
        DateTime nextWeek = now.AddDays(7);
        DateTime threeHoursAgo = now.AddHours(-3);
        Console.WriteLine("1週間後:" + nextWeek);
        Console.WriteLine("3時間前:" + threeHoursAgo);

        // 年月日・時刻を取り出す
        Console.WriteLine("年:" + now.Year);
        Console.WriteLine("月:" + now.Month);
        Console.WriteLine("日:" + now.Day);
        Console.WriteLine("時:" + now.Hour);
        Console.WriteLine("分:" + now.Minute);

        // 文字列をDateTimeに変換
        string input = "2025/11/16";
        DateTime parsed = DateTime.Parse(input);
        Console.WriteLine("変換結果:" + parsed.ToString("yyyy/MM/dd"));
    }
}

このサンプルでは、現在時刻の取得から日付の作成、加算・減算、フォーマット変換、文字列からの変換まで、DateTimeが持つ便利な機能を一通り確認できます。日付という情報は、システム開発だけでなく日常的なアプリケーションでも頻繁に使われるため、こうした基礎をしっかり理解しておくことで、C#での開発がよりスムーズになります。 また、フォーマット指定を活用することで、プログラムの出力をより読みやすく整えられるようになります。実際の業務ではログ記録や画面表示の整形が必須のため、この技術を身につけるだけでプログラムの品質が大きく向上します。

先生と生徒の振り返り会話

生徒

「DateTimeって思っていたよりいろんなことができるんですね!特にAddDaysで簡単に日付を計算できるのが便利だと思いました。」

先生

「そうなんです。日付計算は実務で本当によく使う場面なので、直感的に書けるのはありがたいですよね。フォーマット指定も覚えておくと、必要な形にすぐ整形できますよ。」

生徒

「ユーザー入力から日付をParseで変換できるのも便利ですね。予約の入力フォームとかで使えそうです!」

先生

「その通り。DateTimeはC#で日付を扱うための中心になる型だから、今日の内容をしっかり覚えておくと今後の学習でも役に立ちます。」

生徒

「はい!もっと複雑な日時処理にも挑戦してみます!」

カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.4
Java&Spring記事人気No4
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法