スライドショー

【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

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

中沢 丈

中沢 丈

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

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

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説