C# 中时间字符串的时间跨度无效



我正在尝试向 c# datetime 对象添加一个表示时间的字符串,但我收到一个异常,显示"格式无效">

details.UTCEventDate.Add(TimeSpan.Parse(details.UTCEventTime));

其中'细节。UTCEventTime"类似于"4:45AM">

AMPM值不容易用TimeSpan.Parse解析,因为TimeSpan技术上表示时间间隔的长度,而不是一天中的时间本身。

但是,您可以使用DateTime.Parse方法来解析此值,然后使用 TimeOfDay 属性作为TimeSpan检索时间部分:

details.UTCEventDate.Add( DateTime.Parse( details.UTCEventTime ).TimeOfDay );

如果要使用 ParseExact 更精确地指定格式,则可以使用 h:mmtt 格式字符串,其中 tt 表示AMPM部分。

TimeSpan.Parse不喜欢字符串中的"AM/PM"。

你能做的是

details.UTCEventDate.Add(DateTime.Parse(details.UTCEventTime).TimeOfDay)

最新更新