【C#】DateTime.TryParseExact メソッドとは

DateTimeクラスとは

DateTimeクラスは、日時(日付)を扱うときに使用するクラスです。

現在の日時を取得したり、フォーマットを指定して日時の文字列に変換して表示することなどができます。

 

DateTime.TryParseExact メソッドとは

DateTime.TryParseExact メソッドは、指定した文字列形式の日付と時刻を等価のDateTimeの値に変換します

文字列が正常に変換された場合は「true」を返し、変換されなかった場合には「false」を返します。

■公式ドキュメント
https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime.tryparseexact?view=net-5.0

 

TryParseExactメソッドで書式を指定して変換できるかチェックする方法

DateTime.TryParseExact(変換したい文字列, フォーマット, 書式情報, 変換したい文字列で使用可能な書式を示すDateTimeStyles値の組み合わせ, out DateTime 変数)

第1引数に文字列を指定し、第2引数にフォーマットを指定します。

第3引数にカルチャ固有の書式情報を指定します(通常は「null」を指定すれば問題ありません)。

第4引数にDateTimeStylesを指定し、第5引数には、DateTime型の変数に変換後の日時が格納されます。

 

サンプルコード

u心結ing System;
using System.Globalization;

namespace c_tryparseexact
{
    class Program
    {
        static void Main(string[] args)
        {
            string receptionTime = "2021/06/12 12:34:56";

            string format = "yyyy/MM/dd HH:mm:ss";

            DateTimeStyles dateTimeStyles = DateTimeStyles.None;

            if (DateTime.TryParseExact(receptionTime, format, null, dateTimeStyles, out DateTime dateTime))
            {
                Console.WriteLine("変換に成功しました。");
                Console.WriteLine(dateTime);
            }
            else
            {
                Console.WriteLine("変換できませんでした。");
            }
           
        }
    }
}

実行結果:

変換に成功しました。
2021/06/12 12:34:56

上記のように、TryParseExactメソッドは変換できた場合には「true」、変換できなかった場合には「false」を返すため、if文の中で使用されることが多いです。

 

DateTime.ParseExact メソッドもある

文字列をDateTime型に変換する方法として、TryParseExactメソッドの他にDateTime.ParseExact メソッドがあります。

DateTime.ParseExact メソッドは、日時の文字列の書式(フォーマット)を指定してDateTime型に変換することができます

詳しくは、以下の記事を参考ください。

【C#】DateTime.ParseExact メソッドとは

2021.06.11

 

DateTime.ParseExactとDateTime.TryParseExact(違いと使い分け)

DateTime.ParseExactとDateTime.TryParseExactの違いと使い分けに関しては、以下の記事を参考ください。

【C#】DateTime.ParseExact VS DateTime.TryParseExact(違いと使い分け)

2021.06.13

 

日時の差分を求める方法

以下の記事では日時の差分を求める方法について解説しています。

詳しくは以下の記事を参考ください。

【C#】日時の差分を求める(TimeSpan、Days)

2021.04.08

 

おすすめ書籍・Udemy

■C#を学習し始めた方向け
やさしいC 第3版 (「やさしい」シリーズ)

1週間でCの基礎が学べる本

確かな力が身につくC「超」入門 第2版 (Informatics&IDEA)

■C#をある程度学習した方向け
基礎からしっかり学ぶCの教科書 改訂新版 (マイクロソフト関連書)

独習C 新版

Effective C 6.0/7.0

 

■Udemyのおすすめ講座①
C#初心者が最初に身に着けるべき30の文法

■Udemyのおすすめ講座②
初心者でも最速でシゴトに使えるC#!