20031006という形式の文字列を日時として扱う必要があります。C#関数を使用して、アプリケーション内のほとんどすべての日付を変換するための以下の関数を思いつきました。ただし、文字列20031006を現在に変換するための形式がないようです。これを達成するためにどのような方法を使用しますか?前もって感謝します。
private bool IsDate(string dateString)
{
string format;
DateTime dateValue;
CultureInfo enUS = new CultureInfo("en-US");
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime myNum;
try
{
if (DateTime.TryParse(dateString, out myNum))
{
return true;
}
format = "d";
if (DateTime.TryParseExact(dateString, "d",provider, DateTimeStyles.AdjustToUniversal, out dateValue))
{
return true;
}
dateValue = DateTime.ParseExact(dateString, format, new CultureInfo("fr-FR"));
if (dateValue != null)
{
return true;
}
if (DateTime.TryParseExact(dateString, "g", enUS, DateTimeStyles.None, out dateValue))
{
return true;
}
if (DateTime.TryParseExact(dateString, "M/dd/yyyy hh:mm", enUS, DateTimeStyles.None, out dateValue))
{
return true;
}
if (DateTime.TryParseExact(dateString, "g", enUS, DateTimeStyles.AllowLeadingWhite, out dateValue))
{
return true;
}
if (DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue))
{
return true;
}
if (DateTime.TryParseExact(dateString, "MM/dd/yyyy hh:mm:ss tt zzz", enUS, DateTimeStyles.AdjustToUniversal, out dateValue))
{
return true;
}
if (DateTime.TryParseExact(dateString, "o", CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out dateValue))
{
return true;
}
}
catch (Exception)
{
return false;
}
return false;
}