所以我正在处理一些原始 XML,它有一个时间元素,其值是这样的
晚上 10:30
或相反
上午 10:30
等等等等
日期估计是今天...
如果我要使用 DateTime.TryParse; 有人愿意帮助制作 FormatProvider 来完成这项工作吗?
如果其他人有更聪明的解决方案,它不一定是 DateTime.TryParse..
您不需要使用自定义格式提供程序 - 您只需要使用AM/PM 指示符说明符 ("tt")指定自定义格式字符串:
DateTime result;
if (DateTime.TryParseExact(text, "hh:mmtt", CultureInfo.InvariantCulture,
DateTimeStyles.None, out result))
{
Console.WriteLine("Parsed to: {0}", result);
}
您可以使用DateTime.TryParseExact尝试此操作,并确保格式hh
为 12 小时和 24 小时,月和分钟的分钟HH
相同。在此处查看更多自定义选项:MM
mm
string strTime = "10:30AM";
DateTime dtTime;
if(DateTime.TryParseExact(strTime, "hh:mmtt",
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None, out dtTime))
{
Console.WriteLine(dtTime);
}