.NET開発者のためのブログメディア

【C#の基礎】DateTimeによる現在時刻の取得とフォーマットの比較
2020年03月25日
データを処理する際に、現在時刻の取得は何かと使う機会が多いです。日付や時刻に様々なフォーマットや表示形式があるなかで、最適なものを取得して使いたいケースもあるでしょう。ここでは、日付や時刻を取得する方法について紹介していきます。
- PG
- 日付を取得してデータ処理をしていきたいのですが、現在時刻を取得するにはどうしたら良いですか?
- PL
- それならDateTimeを使っていくと良いですよ。まずはDateTime構造体から理解していきましょう!
目次
DateTime構造体を使用した時刻の取得
C#における日付処理を行うには、DateTime構造体を使用していきます。これを使えば、現在時刻を日時や時刻を様々なフォーマットに変換して表示することが可能です。取得した日付のデータを表示する際には、DateTime.ToStringメソッドなどを利用して文字列に変換してから表示します。
現在時刻を表示する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; namespace Datetest { class test { static void Main() { DateTime dt = DateTime.Now; Console.WriteLine(dt.ToString("yyyy/MM/dd HH:mm:ss")); } } } |
1 |
2020/03/25 10:15:08 |
※上記コードの時間フォーマットの部分は、
【yyyy:年 MM:月 dd:日 HH:時間(24時間表記) mm:分 ss:秒】
になります。
任意の時刻を表示する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; namespace Datetest2 { class test { static void Main() { DateTime dt = new DateTime(2020, 1, 1, 6, 30, 0); Console.WriteLine(dt.ToString("yyyy年M月d日 H時m分s秒")); } } } |
1 |
2020年1月1日 6時30分0秒 |
標準の書式指定子の比較
日付処理を行う上で、特定の日時との比較を行うケースがあります。指定した日付・日時に対して取得した日時がそれより前なのか、後なのかを判定するための方法として、文字列同士を比較する方法が一般的でしょう。プログラム上では文字列比較は演算子を使って行うことができるほか、CompareToメソッドを利用する方法も用意されています。
時刻を演算子で比較する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using System; namespace Datetest { class test3 { static void Main() { DateTime dt1 = DateTime.Now; DateTime dt2 = new DateTime(2020, 1, 1, 6, 30, 0); if (dt1 == dt2) { Console.WriteLine("dt1とdt2は同じ日時です"); } else if (dt1 < dt2) { Console.WriteLine("dt1はdt2より前の日時です"); } else if (dt1 > dt2) { Console.WriteLine("dt1はdt2より後の日時です"); } } } } |
1 |
dt1はdt2より後の日時です |
※dt1は2020/03/25 10:15:08
時刻をCompareToで比較する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System; namespace Datetest { class test4 { static void Main() { DateTime dt1 = DateTime.Now; DateTime dt2 = new DateTime(2020, 1, 1, 6, 30, 0); switch (dt1.CompareTo(dt2)) { case -1: Console.WriteLine("dt1はdt2より前の日時です"); break; case 0: Console.WriteLine("dt1とdt2は同じ日時です"); break; case 1: Console.WriteLine("dt1はdt2より後の日時です"); break; } } } } |
1 |
dt1はdt2より後の日時です |
※dt1は2020/03/25 10:15:08
- PG
- なるほど、現在時刻だけでなくいろいろな時間のフォーマットを利用することもできるのですね。
- PL
- 任意のフォーマットだけでなく、日付同士の比較などにも使えます。ぜひ、使いこなせるようにしておきましょう!
日付処理にはDateTime構造体をうまく利用する
日付処理を行うためにはDateTime構造体から情報を取得する必要があります。また、日付同士の比較や、決まったフォーマットに変換して表示するなど、データを処理していく中で頻繁に利用されるので、しっかり覚えておきましょう。