我有以下代码:
var enteredDate = Convert.ToDateTime("17:45");
var todaysDateTime = DateTime.Now;
var span = enteredDate.Subtract(todaysDateTime);
double totalMins = Math.Ceiling(span.TotalMinutes);
string timeCond;
if (totalMins > 0)
{
if (totalMins < 5)
{
timeCond = Math.Ceiling(span.TotalSeconds) + " seconds left.";
}
else
{
timeCond = totalMins + " minutes left.";
}
}
鉴于现在的时间是17:50
,返回的秒数将是负数,我希望能够返回与代码相关的秒或分钟,以便下次时间{ {1}},这可能吗?
答案 0 :(得分:3)
您可以随时添加一天:
var span = enteredDate - todaysDateTime;
if (span < TimeSpan.Zero)
{
span += TimeSpan.FromDays(1);
}
(请注意,这假设在今天的17:45和明天的17:45之间有24小时。在夏令时过渡期间并非如此;适应这种情况是可行的,但会使生活变得更复杂。)
答案 1 :(得分:0)
试
var span = Convert.ToDateTime("17:45") > DateTime.Now ? Convert.ToDateTime("17:45") - DateTime.Now : Convert.ToDateTime("17:45").AddDays(1) - DateTime.Now