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
相关产品推荐
相关产品推荐

