【问题标题】:C#: TimeSpan subtract [closed]C#:TimeSpan 减法 [关闭]
【发布时间】:2018-04-17 11:17:05
【问题描述】:

如何将我的时间值减去一小时。我试过Substract,但它显示了一些错误。第一次是电影时间,第二次需要时间-1小时。

    <td>
        @Html.DisplayFor(modelItem => item.movie.Time)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.movie.Time.Substract(-1))
    </td>

错误是“无法从 int 转换为 TimeSpan”。

【问题讨论】:

  • 您可以通过实际告诉我们错误来提供帮助!首先,Substract 不是方法名称(或者,一个词)。
  • 你不应该在你的视图中减去。在您的 ViewModel 中执行此操作。
  • 即使你想在你的视图中做这件事,你也需要减去一个时间跨度。所以像TimeSpan.FromHours(1)
  • 错误是:无法从 int 转换为 TimeSpan
  • 所以...那是一个很好的错误。您是否查看了 Subtract 的文档以查看它需要什么参数?

标签: c# .net asp.net-mvc datetime


【解决方案1】:

您可以做的是在 ViewModel 中添加另一个属性,该属性将被计算并在视图中使用:

public TimeSpan CalculatedTime
{
    get
    {
       return Time.Subtract(TimeSpan.FromHours(1));
    }
}

现在在你的视图中使用它:

<td>
    @Html.DisplayFor(modelItem => item.movie.Time)
</td>
<td>
    @Html.DisplayFor(modelItem => item.movie.CalculatedTime)
</td>

【讨论】:

  • TimeTimeSpan 并且您将 1 作为 OP 传递。但是Subtract 接受TimeSpan 而不是整数。
  • @TimSchmelter 感谢您指出,已更正
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-18
  • 2013-10-09
相关资源
最近更新 更多