C#のDateTime.GetDateTimeFormats()メソッドの使い方を解説
C#のDateTime.GetDateTimeFormats()メソッドは、現在のDateTimeインスタンスの値を、標準の日時書式指定子でサポートされるすべての文字列表現に変換するためのメソッドです。このメソッドを呼び出すと、実行環境のカルチャ(CultureInfo)で定義されているさまざまな日時パターンに対応した文字列の配列(string[])が返されます。
構文
GetDateTimeFormats()メソッドの構文は以下のとおりです。
public string[] GetDateTimeFormats () public string[] GetDateTimeFormats (char ch);
引数chには、標準の日時書式指定文字(例:'d'、'D'、'F'など)を1文字で指定します。引数を省略した場合は、サポートされているすべての形式が返されます。
基本的な使用例
まず、引数なしでGetDateTimeFormats()メソッドを呼び出し、取得したすべての形式をコンソールに出力する例を見てみましょう。
using System;
public class Demo {
public static void Main() {
DateTime d = new DateTime(2019, 11, 10, 7, 20, 45);
string[] res = d.GetDateTimeFormats();
foreach(string s in res)
Console.WriteLine(s);
}
}出力
上記のコードを実行すると、以下のように多数の形式で日時が出力されます(実際の出力内容は、実行環境のカルチャ設定によって異なります)。ここでは代表的な出力の一部を紹介します。
11/10/2019 11/10/19 2019-11-10 10-Nov-19 Sunday, November 10, 2019 November 10, 2019 Sunday, November 10, 2019 7:20 AM November 10, 2019 7:20:45 AM 11/10/2019 7:20:45 AM 2019-11-10T07:20:45.0000000 Sun, 10 Nov 2019 07:20:45 GMT 7:20 AM 7:20:45 AM November 2019 ...
このように、短い日付形式からRFC1123形式(GMT表記)、ISO 8601形式まで、非常に多くのバリエーションが一度に取得できることがわかります。
書式指定子を指定した使用例
次に、char型の書式指定子を引数として渡す例を見てみましょう。主な標準書式指定子には、以下のようなものがあります。
- d:短い日付パターン(Short date pattern)
- D:長い日付パターン(Long date pattern)
- f:完全な日付パターン+短い時刻パターン
- F:完全な日付/時刻パターン(長い時刻)(Full date/time pattern)
- g:一般の日付/時刻パターン(短い時刻)
- G:一般の日付/時刻パターン(長い時刻)
- t:短い時刻パターン
- T:長い時刻パターン
ここでは「F」(完全な日付/時刻パターン)を指定して実行してみます。
using System;
public class Demo {
public static void Main() {
DateTime d = new DateTime(2019, 11, 10, 7, 20, 45);
string[] res = d.GetDateTimeFormats('F');
foreach(string s in res)
Console.WriteLine(s);
}
}出力
上記のコードを実行すると、以下の出力が得られます。
Sunday, November 10, 2019 7:20:45 AM Sunday, November 10, 2019 07:20:45 AM Sunday, November 10, 2019 7:20:45 Sunday, November 10, 2019 07:20:45 November 10, 2019 7:20:45 AM November 10, 2019 07:20:45 AM November 10, 2019 7:20:45 November 10, 2019 07:20:45 Sunday, 10 November, 2019 7:20:45 AM Sunday, 10 November, 2019 07:20:45 AM Sunday, 10 November, 2019 7:20:45 Sunday, 10 November, 2019 07:20:45 10 November, 2019 7:20:45 AM 10 November, 2019 07:20:45 AM 10 November, 2019 7:20:45 10 November, 2019 07:20:45
書式指定子を指定することで、特定のパターンに対応する文字列表現だけを絞り込んで取得できます。日付の表示形式を柔軟に切り替えたい場合や、多言語対応アプリケーションでカルチャごとの書式を確認したい場合に、このメソッドは非常に便利です。
-
C#のDateTime.AddDays()メソッドの使い方を徹底解説!日付に日数を加算する方法
C#のDateTime.AddDays()メソッドは、現在のDateTimeインスタンスの値に指定した日数を加算するためのメソッドです。このメソッドは元のDateTimeオブジェクトを変更するのではなく、計算結果として新しいDateTimeオブジェクトを返します。そのため、戻り値を受け取る変数が必要になる点に注意しましょう。 基本構文 DateTime.AddDays()メソッドの構文は以下のとおりです。 public DateTime AddDays (double days); 引数 days には加算したい日数をdouble型で指定します。負の値を渡すことで、日付を減算(過去の日付に移動
-
C#のDateTime.Add()メソッドとは?構文と使い方を実例付きで解説
C#のDateTime.Add()メソッドは、指定したTimeSpanの値を現在のDateTimeインスタンスに加算し、その結果として新しいDateTimeオブジェクトを返すメソッドです。元のインスタンス自体は変更されず、計算結果が新しいオブジェクトとして生成される点が特徴です。基本構文DateTime.Add()メソッドの構文は以下の通りです。public DateTime Add (TimeSpan val);引数 val には、加算する時間間隔を表す TimeSpan を指定します。正の値を渡せば日時が進み、負の値を渡せば日時が遡ります。使用例1:日付を加算するまずは、115日分のTim