C# では、日付と時刻の文字列表現は、struct DateTime によって提供されるいくつかの解析メソッドを使用して、同等の DateTime オブジェクトに変換できます。これらのメソッドでは、変換される日付の文字列表現が必要ですが、これに加えて、カルチャ固有の形式情報も指定できます。
以下にメソッドを示します:
これらの各解析方法の構文を以下に示します。
public static DateTimeParse(string str);
ここで、Parse() メソッドは、変換する日付と時刻を表す文字列引数を受け取ります。 str.
で表される日付と時刻に相当する DateTime オブジェクトを返します。public static DateTimeParseExact(string str, string strFormat, IFormatProviderformatProvider);
ここでは、3 つの引数がメソッドに渡されます。str は変換する日付と時刻の文字列表現、format は必要な str 形式を指定し、formatProvider は str のカルチャ固有の形式情報を提供します。 str.
で表される日付と時刻に相当する DateTime オブジェクトを返します。public static bool TryParse(string str, out DateTimeresult);
ここで、strは変換する日時を表し、結果の値は変数resultに格納されます。変換が成功すると、このメソッドは true を返します。それ以外の場合は false を返します。
public static bool TryParseExact(string str, string[] strFormats, IFormatProviderformatProvider, DateTimeStylesstyle, out DateTimeresult);
変換が成功すると、このメソッドは true を返します。それ以外の場合は false を返します。
C# では、文字列を日付に変換するためにいくつかのメソッドが使用できます。変換される文字列は日付と時刻の有効な表現である必要があり、null または空であってはなりません。変換が成功すると、これらのメソッドは DateTime のオブジェクトを返します。
これまでの文字列の解析に使用されたメソッドは次のとおりです:
上記の 3 つのメソッドは、Parse() メソッドのオーバーロード形式です。変換が成功すると、それらはすべて System.DateTime オブジェクトを返します。
例:
CultureInfo provider = newCultureInfo("en-US"); DateTime date = DateTime.Parse("08/08/2020", provider, DateTimeStyles.AdjustToUniversal);
上記のステートメントでは、最初に IFormatProvider を実装する CultureInfo クラスのオブジェクトを作成しました。 このメソッドは、指定されたカルチャ固有の形式情報を使用し、指定された DateTimeStyles 値を適用することにより、入力文字列を同等の DateTime オブジェクトに変換します。変換が成功すると、結果の DateTime オブジェクトは変数「date」に保存されます。
上記の 3 つのメソッドは、ParseExact() メソッドのオーバーロード形式です。変換が成功すると、それらはすべて System.DateTime オブジェクトを返します。
例:
string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy", "MM/dd/yyyyHH:mm:ss"}; CultureInfo provider = newCultureInfo("en-US"); DateTime date = DateTime.ParseExact("08/08/2020", dateFormats, provider, DateTimeStyles.AdjustToUniversal);
このメソッドに渡される日付の文字列表現は、文字列配列に含まれる指定された形式のいずれかと正確に一致する必要があります。
このメソッドのパラメータのタイプは、前に見たものと同じです。このメソッドは、カルチャ固有の形式情報と渡されたスタイルを使用して、入力文字列を同等の DateTime オブジェクトに変換し、変換が成功した場合は true を返します。それ以外の場合は false を返します。結果の DateTime 値は、このメソッドの「out」パラメータに保存されます。
このメソッドは、提供されたカルチャ固有の形式情報とスタイルを使用して、入力文字列を日付に変換します。このメソッドは、変換が成功した場合は true を返します。それ以外の場合は false を返します。
以下に例を示します。
コード:
using System; usingSystem.Globalization; publicclassProgram { publicstaticvoidMain() { DateTime date; string[] dateFormats = new[] { "yyyy/MM/dd", "MM/dd/yyyy", "MM/dd/yyyyHH:mm:ss"}; CultureInfo provider = newCultureInfo("en-US"); try { //Parse() date = DateTime.Parse("08/08/2020"); Console.WriteLine("\nParse() method: " + date); //ParseExact() date = DateTime.ParseExact("08/08/2020", dateFormats, provider, DateTimeStyles.AdjustToUniversal); Console.WriteLine("\nParseExact() method: " + date); } catch (Exception ex) { Console.Write(ex.Message); Console.ReadLine(); } //TryParse() if (DateTime.TryParse("08/08/2020", out date)) { Console.WriteLine("\nTryParse() : " + date); } else { Console.WriteLine("Conversion failed"); } //TryParseExact() if (DateTime.TryParseExact("08/08/2020", dateFormats, provider, DateTimeStyles.AdjustToUniversal, out date)) { Console.WriteLine("\nTryParseExact() : " + date); } else { Console.WriteLine("Conversion failed"); } Console.ReadLine(); } }
出力:
C# では、DateTime 構造体が提供する解析メソッドを使用して、文字列を DateTime オブジェクトに変換できます。これらのメソッドとは別に、Convert を使用して文字列を日付に変換できます。 DateTime() メソッドは、日付の文字列表現を入力として受け取り、同等の DateTime オブジェクトを返します。
以上が現在までの文字列 C#の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。