0

所以我正在处理一些原始 XML,它有一个时间元素,其值是这样的

晚上 10:30

或相反

上午 10:30

等等等等

日期估计是今天...

如果我要使用 DateTime.TryParse; 有人愿意帮助制作 FormatProvider 来完成这项工作吗?

如果其他人有更聪明的解决方案,它不一定是 DateTime.TryParse..

4

2 回答 2

1

您不需要使用自定义格式提供程序 - 您只需要使用AM/PM 指示符说明符 ("tt")指定自定义格式字符串

DateTime result;
if (DateTime.TryParseExact(text, "hh:mmtt", CultureInfo.InvariantCulture,
                           DateTimeStyles.None, out result))
{
    Console.WriteLine("Parsed to: {0}", result);
}
于 2013-04-10T08:41:00.287 回答
1

您可以使用DateTime.TryParseExact尝试此操作,并确保格式hh为 12 小时和 24 小时,月和分钟的分钟HH相同。在此处查看更多自定义选项:MMmm

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);
 }
于 2013-04-10T08:43:04.770 回答