6

DateTime.TryParseExact に複数の (任意の) セパレーターを受け入れるように指示することは可能ですか (特定のセパレーターの代わりにセパレーター プレースホルダーを指定します)? 例えば:

DateTime.TryParseExact(performanceRow[5], "M/d/yyyy", 
    CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out startDate)

これは、日付に区切り文字として「/」文字が含まれている場合に機能します。ただし、「。」を含むファイルを受信しました。区切りとして、解析が失敗します。

ありがとう

4

3 に答える 3

7

TryParseExact のこのバリアントを使用する

DateTime.TryParseExact(String, String[], IFormatProvider, DateTimeStyles, DateTime%)

MSDN リンク

2 番目のパラメーターは、次のように定義される文字列配列です。

フォーマット

タイプ: System.String[]

s の許容される形式の配列。

説明には、次のように書かれています。文字列表現の形式は、指定された形式の少なくとも 1 つと正確に一致する必要があります。

于 2012-12-10T07:53:44.047 に答える
1

以下のようにフォーマットを配列で渡すことができます。

string[] formats= {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", 
               "MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", 
               "M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", 
               "M/d/yyyy h:mm", "M/d/yyyy h:mm", 
               "MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm"};

この形式を TryParseExact メソッドの 2 番目のパラメーターとして渡します。

于 2012-12-10T08:00:46.190 に答える