将12小时时间字符串转换为DateTime对象

时间:2013-04-10 08:39:17

标签: c# datetime

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

10:30 PM

或相反

10:30 AM

等等

日期被推定为今天......

如果我要使用DateTime.TryParse;有人愿意帮忙制作一个FormatProvider来做这个工作吗?

如果其他人有更智能的解决方案,则不必是DateTime.TryParse。

2 个答案:

答案 0 :(得分:1)

您无需使用自定义格式提供程序 - 只需使用custom format string指定AM/PM designator specifier ("tt")

DateTime result;
if (DateTime.TryParseExact(text, "hh:mmtt", CultureInfo.InvariantCulture,
                           DateTimeStyles.None, out result))
{
    Console.WriteLine("Parsed to: {0}", result);
}

答案 1 :(得分:1)

您可以使用DateTime.TryParseExact进行尝试,并确保hh的格式为12小时,HH为24小时,同样为分钟MM为月和{{1分钟。检查here以获取更多自定义选项:

mm