したがって、さまざまな形式の日付になる可能性のある文字列があります。成功するまでそれぞれを試行し、変換された日付を返すか、形式に一致しない場合はエラーをスローするメソッドを作成したかったのです。私はこれを書いた:
private string ConvertDate(string toConvert)
{
if (string.IsNullOrEmpty(toConvert)) { return ""; }
DateTime date;
bool success = DateTime.TryParseExact(toConvert,
"MMddyy",
new CultureInfo("en-US"),
DateTimeStyles.None,
out date);
if (!success)
{
success = DateTime.TryParseExact(toConvert,
"MMddyyyy",
new CultureInfo("en-US"),
DateTimeStyles.None,
out date);
}
if (!success)
{
success = DateTime.TryParseExact(toConvert,
"MM/dd/yy",
new CultureInfo("en-US"),
DateTimeStyles.None,
out date);
}
if (!success)
{
success = DateTime.TryParseExact(toConvert,
"MM/dd/yyyy",
new CultureInfo("en-US"),
DateTimeStyles.None,
out date);
}
if (!success) throw new Exception("Date formats are not recognized");
return date.ToString();
}
それは機能しますが、それをすべて書くのはかなりばかげていると思います。1回のパスでさまざまな日付形式をチェックする簡単な方法があるはずだと思います。何か案は?