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

本文关键字:DateTime 对象 转换 字符串 12小时 时间 | 更新日期: 2023-09-27 18:08:19

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

散尽

或反过来

上午10:30

等等

假定日期是今天…

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

不一定是DateTime。如果有人有更聪明的解决方案,请尝试parse .

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

您不需要使用自定义格式提供程序-您只需要使用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小时,HH为24小时,同样为分钟,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);
 }