エンジニアの将来って?

現在7年目のCOBOL→Java→C#エンジニアが、将来への考えや勉強のアウトプット、たまに腎臓について書くブログです

【C#】今日の日にちを取得する、DateTime.TodayとDateTime.Nowの違いを解説します

こんにちは。たいら(@tairaengineer2)です。
この記事では、C#DateTime.TodayDateTime.Now の違いを解説します。

前提条件

この記事では、Visual Studio 2017 Communityを使っています。
インストールの仕方は、下の記事をご参考ください。

www.tairax.com

DateTime.TodayとDateTime.Nowの違い

違いは、時間を取得することができるかどうかです。
では、それぞれをみていきましょう。

DateTime.Todayとは

DateTime.Today Property
現在の日付を取得します。
public static DateTime Today { get; }

プロパティ値
DateTime
今日の日付を表すオブジェクト (ただし、時刻部分は 00:00:00)。

DateTime.Today Property (System) | Microsoft Docsから引用させて頂きました

DateTime.Todayは、今日の日にちを取得できます。
取得する方法は

DateTime date = DateTime.Today;

というようにすると、今日の日にちを取得できます。
ただし、時間、分、秒はすべて0です。

DateTime.Nowとは

DateTime.Now Property
public static DateTime Now { get; }

プロパティ値
DateTime
現在の現地日時を値として保持するオブジェクト。

DateTime.Now Property (System) | Microsoft Docsから引用させて頂きました

DateTime.Nowでは、今日の日にちと時間を取得できます。
取得する方法は

DateTime date = DateTime.Now;

というようにすると、取得できます。

では、両方を使ってみましょう!

DateTime.TodayとDateTime.Nowを解説するプログラム

コンソールに以下の日程を表示するプログラムを作ります。

  • 何も設定しない場合

今日の日付を表示するだけのプログラムです。
コンソールプロジェクトを作成するやり方は下の記事をご参考ください。

www.tairax.com

 

C#プログラム

using System;

/// <summary>
/// DateTime.TodayとDateTime.Nowの違い
/// </summary>
namespace ConsoleApp1
{
    class Program
    {
        /// <summary>
        /// メイン
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            // 何も設定しない場合
            DateTime notSetDateTime = new DateTime();
            Console.WriteLine("----何も設定しない場合----");
            Console.WriteLine(notSetDateTime);

            // 今日の日付を設定した場合
            DateTime todayDateTime = DateTime.Today;
            Console.WriteLine("----DateTime.Todayを設定した場合----");
            Console.WriteLine(todayDateTime);

            // 今の時間を設定した場合
            DateTime nowDateTime = DateTime.Now;
            Console.WriteLine("----DateTime.Nowを設定した場合----");
            Console.WriteLine(nowDateTime);
        }
    }
}

実行結果

コンソール画面を表示させます。

f:id:Tairax:20181203215920p:plain

----何も設定しない場合----
0001/01/01 0:00:00
----DateTime.Todayを設定した場合----
2018/12/03 0:00:00
----DateTime.Nowを設定した場合----
2018/12/03 21:58:10
続行するには何かキーを押してください . . .

時間を見ると、DateTime.TodayとDateTime.Nowの違いが良く分かりますね!

----DateTime.Todayを設定した場合----
2018/12/03 0:00:00
----DateTime.Nowを設定した場合----
2018/12/03 21:58:10

まとめ:DateTime.TodayとDateTime.Nowを使い分けよう

以上が、DateTime.TodayとDateTime.Nowの違いについての解説です。
今日の時間が必要かそうでないかで、使い分けましょう!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~ (・ω・)ノシ

 

ほかにもC#勉強記事を書いてます。
よければご参考ください。

【C#】string.Formatと文字列補完を解説します

【C#】文字列を数値に変換できるか調べるTryParseメソッドの使い方

【C#】コード:IDE1006、説明:名前指定の規則違反: これらの単語は、大文字で始まらなければなりません、が出たときの対処方法