You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何对TimeSpan类型值减1小时?调用Subtract报错求解

解决电影时间减去1小时的Subtract方法错误问题

嘿,这个问题我之前也碰到过!你报错的核心原因很清晰:Subtract方法需要接收**TimeSpan类型**的参数来表示时间间隔,但你直接传入了整数-1,C#无法自动将int类型转换为TimeSpan,所以抛出了"Cannot convert from int to TimeSpan"的错误。

要实现“减去1小时”的需求,你需要先创建一个代表1小时的TimeSpan对象,再传给Subtract方法。修改后的代码如下:

<td> @Html.DisplayFor(modelItem => item.movie.Time) </td>
<td> @Html.DisplayFor(modelItem => item.movie.Time.Subtract(TimeSpan.FromHours(1))) </td>

补充说明:

  • TimeSpan.FromHours(1)是C#提供的便捷方法,专门用来创建对应小时数的时间间隔对象,类似的还有FromMinutes()、FromSeconds()等方法,按需使用即可。
  • 如果你之前写Subtract(-1)是想表达“加上1小时”,那可以直接用Add(TimeSpan.FromHours(1)),比传负数更直观易懂。

内容的提问来源于stack exchange,提问作者applehouse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:14:22