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

时间:2018-01-17 06:00:22

标签: c# datetime timespan

我正在尝试添加一个代表c#datetime对象时间的字符串,但是我收到一个说“格式无效”的异常

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

其中'details.UTCEventTime'类似于“4:45 AM”

2 个答案:

答案 0 :(得分:1)

AMPM值无法使用TimeSpan.Parse轻松解析因为TimeSpan在技术上代表时间间隔的长度,而不是一天中的某个时间。

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

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

如果您想使用ParseExact更精确地指定格式,可以使用h:mmtt格式字符串tt代表AMPM部分

答案 1 :(得分:0)

details.UTCEventDate.Add(DateTime.Parse(details.UTCEventTime).TimeOfDay) 不喜欢" AM / PM"在字符串中。

你能做的是

<div id="time">
  <input type="text" name="from" placeholder="12:00 AM" />
  <input type="text" name="to" placeholder="12:30 AM" />
  <input type="text" name="from" placeholder="13:00 AM" />
  <input type="text" name="to" placeholder="13:30 AM" />
</div>