代码之家  ›  专栏  ›  技术社区  ›  craig

在Asp.Net内核中使用DisplayFormat显示经过的时间

  •  0
  • craig  · 技术社区  · 7 年前

    我有一个ViewModel类,它有一个列,名为 Duration DatetTime

    public Int32 Duration { get; set; }
    

    我希望我可以使用注释来显示经过的时间量,以天和小时为单位(例如。 0d 15h ).

    [DisplayFormat(DataFormatString = "{0:dd hh}")]
    

    TimeSpan :

    DateTime s;
    DateTime.TryParse("2015-03-18 15:00:42.920",out s);
    DateTime e;
    DateTime.TryParse("2015-03-19 06:52:44.440",out e);
    TimeSpan t = e - s;
    Console.WriteLine(String.Format("{0}d {1}h", t.Days, t.Hours));
    

    1 回复  |  直到 7 年前
        1
  •  0
  •   craig    7 年前

    我决定在视图中添加一个函数:

    public string Elapsed(Int32 duration)
    {
        TimeSpan t = TimeSpan.FromHours(duration);
        return String.Format("{0}d {1}h", t.Days, t.Hours);
    }
    

    <td> @Elapsed(item.Duration) </td>