我需要将 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;
}