HOWTO · Csharp

C# の DateTime に null を設定する

この記事では、DateTime オブジェクトの基本と、それを C# で使用して null 値を割り当てる方法について学習します。

このページの内容

このレッスンでは、DateTimenull 値を設定する方法を説明します。この概念を完全に理解するには、DateTime の基本と null 許容値に精通している必要があります。

C#DateTime の基本を理解する

ユーザーが 2015 年 12 月 25 日の日の始まりから時計を開始したいとします。DateTime オブジェクトに値を割り当てます。

コードスニペット:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace nulldatetime {
  class Program {
    static void Main(string[] args) {
      DateTime date1 = new DateTime(2015, 12, 25);  // Assgining User Defined Time ;
      Console.WriteLine("Time " + date1);
      Console.ReadKey();
    }
  }
}

出力:

Time 12/25/2015 12:00:00 AM

C#DateTime に最大値と最小値を割り当てる

最小値を DateTime に割り当てると、開始最小時間:1/1/000112:00:00AM から時刻が開始されます。同じことが最大時間にも当てはまり、時間の最大値最大時間:12/31/999911:59:59PM で時間を開始します。

コードスニペット:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace nulldatetime {
  class Program {
    static void Main(string[] args) {
      // How to Define an uninitialized date. ?
      // First Method to use MinValue field of datetime object
      DateTime date2 = DateTime.MinValue;  // minimum date value
      Console.WriteLine("Time: " + date2);
      // OR
      date2 = DateTime.MaxValue;
      Console.WriteLine("Max Time: " + date2);
      Console.ReadKey();
    }
  }
}

出力:

Min Time: 1/1/0001 12:00:00 AM
Max Time: 12/31/9999 11:59:59 PM

C#DateTimenull 値を割り当てる

DateTime は、デフォルトでは値型であるため、null 許容ではありません。値型は、メモリ割り当てに格納されているデータの形式です。

一方、NullableDateTime を使用する場合。それに null 値を割り当てることができます。

コードスニペット:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace nulldatetime {
  class Program {
    static void Main(string[] args) {
      // By default DateTime is not nullable because it is a Value Type;
      // Problem # Assgin Null value to datetime instead of MAX OR MIN Value.
      //  Using Nullable Type
      Nullable<DateTime> nulldatetime;  // variable declaration
      nulldatetime = DateTime.Now;      // Assgining DateTime to Nullable Object.
      Console.WriteLine("Current Date Is " + nulldatetime);  // printing Date..
      nulldatetime = null;                                   // assgining null to datetime object.
      Console.WriteLine("My Value is  null ::" + nulldatetime);
      Console.ReadKey();
    }
  }
}

出力:

Current Date Is 02/11/2022 18:57:33
My Value is  null ::