部分的または完全な日付で検索できるフィルタフィールドがあります。これは、ユーザーが入力したいと思う方法でTryParseExactが表示されない最高のオプションのように。DateTime.TryParseはyyyyでしか失敗しません
DateTime.TryParse(fromDate.Text, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateFromValue)
yyyyの文字列以外のすべてを解析します
問題は、次のコードでは、ということです。例えば。 "05/1980"と "1980/05"は{1/05/1980 12:00:00 AM}と認識されますが、 "1980"は失敗します。
パーザは、すべてが4桁のシーケンスである場合、たとえばyyyyとffffを区別する方法がないと思われますが、まだこの動作を取得する必要があります。
if(!DateTime.TryParse("1980", CultureInfo.InvariantCulture, DateTimeStyles.None, out date))
DateTime.TryParseExact("1980","yyyy",CultureInfo.InvariantCulture, DateTimeStyles.None, out date);
また、間違ったやり方をしているのでしょうか?
ありがとうございます!
良い点を考慮してきた - 私はもっと注意しなければなりませんコピペ!それを指摘していただきありがとうございます:) この特別なケースでは、TryParseで欠落している日と月を推測しても問題ありません(デフォルトでは1月1日など)。 –