【C#入門】現在時刻を取得する方法(DateTime.Now/UtcNow)

こんにちは! エンジニアの中沢です。

C#では現在の日時を取得するために、DateTime構造体の「Nowプロパティ」を使います。日時はフォーマットを指定して取得することもできるので、上手く活用してください。

この記事では、

  • DateTime構造体とは
  • DateTime.Nowプロパティで現在時刻を取得する方法
  • 年、月、日、時、分、秒、ミリ秒を取得する方法

という基本的な内容から、

  • フォーマットを指定して取得する方法
  • UtcNowプロパティでUTC(協定世界時)の時刻を取得する方法

などの応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、現在時刻を取得するさまざまな使い方をわかりやすく解説します!

DateTime構造体とは

DateTime構造体は、日時(日付)を扱うときに使う構造体です。現在の日時を取得したり、フォーマットを指定して日時を文字列に変換して表示することなどができます。

フォーマットで表示形式の指定や、区切り文字を指定したりすることができます。

DateTime.Nowプロパティで現在時刻を取得する方法

ここでは、DateTime.Nowプロパティで現在時刻を取得する方法を解説します。現在時刻を取得するには、DateTime.Nowプロパティを使用するだけです。現在時刻はDateTime型で取得されます。

次のプログラムで確認してみましょう。

using System;

namespace Sample
{
    class Sample
    {
        static void Main()
        {
            DateTime dt = DateTime.Now;
            Console.WriteLine(dt);

            Console.ReadKey();
        }
    }
}

実行結果:

2018/05/04 15:25:39

このようにして現在の日時を取得することができました。

年、月、日、時、分、秒、ミリ秒を取得する方法

ここでは、現在の日時から「年、月、日、時、分、秒、ミリ秒」を取得する方法を解説します。「年」を取得するには「Year」、「月」を取得するには「Month」のように対応するプロパティがあるので、それを使って取得することができます。

次のプログラムで確認してみましょう。

using System;

namespace Sample
{
    class Sample
    {
        static void Main()
        {
            DateTime dt = DateTime.Now;
            Console.WriteLine(dt);

            Console.WriteLine(dt.Year + "年");
            Console.WriteLine(dt.Month + "月");
            Console.WriteLine(dt.Day + "日");
            Console.WriteLine(dt.Hour + "時");
            Console.WriteLine(dt.Minute + "分");
            Console.WriteLine(dt.Second + "秒");
            Console.WriteLine(dt.Millisecond + "ミリ秒");

            Console.ReadKey();
        }
    }
}

実行結果:

2018/05/04 15:37:44
2018年
5月
4日
15時
37分
44秒
425ミリ秒

このようにして、ミリ秒まで取得することができました。

フォーマットを指定して取得する方法

フォーマットを指定するには、DateTime構造体のToStringメソッドを使います。フォーマットは、「"yyyy/MM/dd HH:mm:ss"」のように年月日と日時を指定します。

次のプログラムで確認してみましょう。

using System;

namespace Sample
{
    class Sample
    {
        static void Main()
        {
            DateTime dt = DateTime.Now;

            string result = dt.ToString("yyyy/MM/dd HH:mm:ss");
            Console.WriteLine(result);

            result = dt.ToString("yyyy年MM月dd日 HH時mm分ss秒");
            Console.WriteLine(result);

            Console.ReadKey();
        }
    }
}

実行結果:

2018/05/04 15:39:24
2018年05月04日 15時39分24秒

このようにしてフォーマットを指定して日時を取得することができました。DateTime構造体のToStringメソッドの詳しい使い方はこちらの記事で解説しているので、ぜひ確認してください。

【C#入門】DateTime.ToStringで日時(日付)を文字列に変換する方法
更新日 : 2019年4月26日

UtcNowプロパティでUTC(協定世界時)の時刻を取得する方法

ここでは、UtcNowプロパティUTC(協定世界時)の時刻を取得する方法を解説します。UtcNowプロパティはNowプロパティと同様に使うことができます。

次のプログラムで確認してみましょう。

using System;

namespace Sample
{
    class Sample
    {
        static void Main()
        {
            DateTime dt = DateTime.Now;
            Console.WriteLine("JST:" + dt);

            dt = DateTime.UtcNow;
            Console.WriteLine("UTC:" + dt);

            Console.ReadKey();
        }
    }
}

実行結果:

JST:2018/05/04 15:42:22
UTC:2018/05/04 6:42:22

このようにして、JSTとUTCを比較して取得することができました。

まとめ

いかがでしたか?今回はNowプロパティで現在の日時を取得する方法を解説しました。

現在時刻はミリ秒まで取得できたり、フォーマットを指定できるのでぜひ活用してくださいね。もし、現在の日時を取得する方法を忘れてしまったらこの記事を確認してください!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]