public class Item
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime StartTime { get; set; }
public int Duration { get; set; } // duration in seconds
public DateTime EndTime => StartTime.AddSeconds(Duration);
public TimeSpan TimeLeft => EndTime - DateTime.Now;
}
其中,EndTime
用来计算该项倒计时器的结束时间,TimeLeft
用来计算该项还有多少时间结束。
2. 在视图中使用foreach
循环来渲染表格行,例如:
名称
开始时间
倒计时
@foreach (var item in Model)
{
@item.Name
@item.StartTime.ToString("yyyy-MM-dd HH:mm:ss")
@{
var timeLeft = item.TimeLeft;
var timeLeftStr = (timeLeft < TimeSpan.Zero) ? "已结束" : $"{timeLeft.Days}天{timeLeft.Hours}小时{timeLeft.Minutes}分钟{timeLeft.Seconds}秒";
}
@timeLeftStr
}
在这个例子中,我们使用了TimeSpan
类型来计算倒计时器还剩下多少时间,再将其格式化成一个字符串。这样,我们就可以在表格中显示每个项的倒计时器了。
3. 如果你想要倒计时器是动态的(即能够随着时间的推移自动更新),我们可以使用