未来的时间还剩几秒?

发布于 2024-12-02 15:50:43 字数 540 浏览 1 评论 0原文

我有以下代码:

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,返回的秒数将是负数,我希望能够返回与代码相关的秒数或分钟数下一次的时间是17:45,这可能吗?

I have the following Code:

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.";
   }

}

Given that the time now would be 17:50 the returned second would be a negative figure, I would like to be able to return the seconds or minutes in relation to the code for the next time the time would be 17:45, is this possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

○闲身 2024-12-09 15:50:43

您总是可以添加一天:(

var span = enteredDate - todaysDateTime;
if (span < TimeSpan.Zero)
{
    span += TimeSpan.FromDays(1);
}

请注意,这假设今天的 17:45 和明天的 17:45 之间有 24 小时。在夏令时过渡期间情况并非如此;适应这一点是可行的,但会让生活变得更加轻松复杂的。)

You could always just add a day:

var span = enteredDate - todaysDateTime;
if (span < TimeSpan.Zero)
{
    span += TimeSpan.FromDays(1);
}

(Note that this assumes there are 24 hours between today's 17:45 and tomorrow's 17:45. That isn't true around daylight saving transitions; accommodating for that is feasible, but would make life somewhat more complicated.)

云柯 2024-12-09 15:50:43

尝试

var span = Convert.ToDateTime("17:45") > DateTime.Now ? Convert.ToDateTime("17:45") - DateTime.Now : Convert.ToDateTime("17:45").AddDays(1) - DateTime.Now

try

var span = Convert.ToDateTime("17:45") > DateTime.Now ? Convert.ToDateTime("17:45") - DateTime.Now : Convert.ToDateTime("17:45").AddDays(1) - DateTime.Now
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文