有很多关于这个问题的帖子,但我仍然卡在以下问题上:
我有什么:
我正在尝试构建一个 Windows Phone 应用程序,该应用程序将选择个人的出生日期
后台代码:
string dateString = "";
DateTime dt = DateTime.Now;
if (value != null && DateTime.TryParse(value.ToString(), culture, DateTimeStyles.None, out dt))
{
if (dt.Equals(DateTime.MinValue))
{
//dateString = "mm/dd/yyyy";
return "";
}
else
return dt.ToShortDateString();
}
else
return dateString;
}
我需要:
我希望它能解析任何日期格式,应该是与文化无关的。
我尝试过:
1. 我尝试使用CultureInfo.InvariantCultute、CultureInfo.CurrentCulture。
2. 尝试使用ExactParser,如下所示:
string[] formats = {"M/d/yyyy h:mm:ss tt", "M/d/yyyy h:mm tt", "d/M/yyyy hh:mm:ss tt", "dd/MM/yyyy hh:mm:ss tt", "d/M/yyyy" , "dd/MM/yyyy" , "M/d/yyyy" ,"MM/dd/yyyy",
"MM/dd/yyyy hh:mm:ss", "M/d/yyyy h:mm:ss", "dd/MM/yyyy hh:mm:ss", "d/M/yyyy h:mm:ss",
"M/d/yyyy hh:mm tt", "M/d/yyyy hh tt", "d/M/yyyy hh:mm tt", "d/M/yyyy hh tt",
"M/d/yyyy h:mm", "M/d/yyyy h:mm", "d/M/yyyy h:mm", "d/M/yyyy h:mm",
"MM/dd/yyyy hh:mm", "M/dd/yyyy hh:mm","dd/MM/yyyy hh:mm", "dd/M/yyyy hh:mm"};
if (value != null && DateTime.TryParseExact(value.ToString(), format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
但这种方法太过硬编码,无法覆盖多种情况。
是否有任何方法可以以任何格式选择出生日期?
非常感谢您的帮助!谢谢!!
DateTime
值,你难道不认为这会是框架中公开的一个方法吗? - Damien_The_Unbeliever