【C#入門】DateTimeの使い方を分かりやすいサンプルコードで徹底解説
今回はDateTime構造体についてです。
目次
DateTimeの構造体
日付時刻を表すには、「DateTime構造体」を使います。
DateTime構造体のプロパティから日時に関する情報を取得することが可能です。
DateTimeのプロパティ
1 2 3 4 5 6 7 8 9 10 11 12 13 |
static void DateTimePractice() { Console.WriteLine("今日の日付:" + DateTime.Today); Console.WriteLine("現在の日付と日時:" + DateTime.Now); // 現在の日付と日時を取得する DateTime now = DateTime.Now; Console.WriteLine("年 = " + now.Year); Console.WriteLine("月 = " + now.Month); Console.WriteLine("日 = " + now.Day); Console.WriteLine("時 = " + now.Hour); Console.WriteLine("分 = " + now.Minute); } |
プロパティの実行結果
DateTimeのメソッド
DateTimeのメソッド 日付の加算などを行うメソッドも用意されています。
よく使うものを以下に示します。
Addメソッド
指定したTimeSpanの値を加算します。
TimeSpanは時間間隔を表す構造体です。
1 2 3 4 5 6 7 8 9 10 11 12 |
static void DateTimePractice() { DateTime now = DateTime.Now; //現在の日時を得る Console.WriteLine(now); //現在日時の表示 TimeSpan addSpan = new TimeSpan (10, 10, 10); //TimeSpan (時,分,秒) DateTime answer = now.Add(addSpan); //TimeSpanの加算 Console.WriteLine (answer); addSpan = new TimeSpan(1, 1, 1, 1); //TimeSpan (日,時、分、秒) answer = now.Add(addSpan); //TimeSpanの加算 Console.WriteLine (answer); } |
Addメソッドの実行結果
addSpanによりanswerに10時間10分10秒加算される
addSpanによりanswerに1日1時間1分1秒加算される
ToXxxxXxxxString
ToLongDateStringメソッド:長い形式の日付の文字列形式に変換します。
ToLongTimeStringメソッド:長い形式の時刻の文字列形式に変換します。
ToShortDateStringメソッド:短い形式の日付の文字列形式に変換します。
ToShortTimeStringメソッド:短い形式の時刻の文字列形式に変換します。
1 2 3 4 5 6 7 8 9 |
static void DateTimePractice() { DateTime now = DateTime.Now; Console.WriteLine(now); Console.WriteLine(now.ToLongDateString()); Console.WriteLine(now.ToLongTimeString()); Console.WriteLine(now.ToShortDateString()); Console.WriteLine(now.ToShortTimeString()); } |
ToXxxxXxxxStringの実行結果
ToStringメソッド
文字列形式に変換します。
1 2 3 4 5 6 7 8 9 10 |
static void DateTimePractice() { DateTime now = DateTime.Now; Console.WriteLine(now.ToString()); Console.WriteLine("D = " + now.ToString("D")); Console.WriteLine("T = " + now.ToString("T")); Console.WriteLine("d = " + now.ToString("d")); Console.WriteLine("t = " + now.ToString("t")); Console.WriteLine("m = " + now.ToString("m")); } |
ToStringメソッドの実行結果
書式は上記以外にもたくさんあるのでMicrosoft Docsで調べてみてください。
*Microsoft Docs: https://docs.microsoft.com/ja-jp/dotnet/csharp/
コラム
構造体
DateTimeとTimeSpanは「構造体」と呼ばれる、データをまとめて扱う定義型です。
C言語を学んだことのある人には、構造体はお馴染みのデータだと思います。
しかし、C#の構造体はC言語と異なり、メンバーにメソッドも含むなど、
クラスと大変によく似ています。ただし、以下の点では大きな違いがあります。
一般に、データ量が少なく、高速に動作することを求められる場合には構造体を使い
それ以外はクラスで宣言します。
Ryotin
現役フリーランスエンジニアです。使ってるエージェントはフライテック!得意言語はJava。月収は75万円。SESのフリーランスではこれ以上稼ぐのは厳しそう...とはいってもサラリーマンの時より倍の収入だから家族も喜んでるけどね!