C# 从现在开始倒计时到将来的某个日期[C]

C# 从现在开始倒计时到将来的某个日期[C],c#,C#,您好,我正在尝试从现在到将来倒计时,因此我初始化了5个新变量: int currentYear = DateTime.Now.Year, currentMonth = DateTime.Now.Month, currentDay = DateTime.Now.Day, currentHour = DateTime.Now.Hour, currentMinute = DateTime.Now.Minute; 现在我有一个未来的f.e.日期,比如2016年11月4日11:14(日、月、年、小时、分

您好,我正在尝试从现在到将来倒计时,因此我初始化了5个新变量:

int currentYear = DateTime.Now.Year, currentMonth = DateTime.Now.Month, currentDay = DateTime.Now.Day, currentHour = DateTime.Now.Hour, currentMinute = DateTime.Now.Minute;
现在我有一个未来的f.e.日期,比如2016年11月4日11:14(日、月、年、小时、分钟),所以现在我试着减去这些值,但最终得到的是负数,因为我想要一个如下所示的倒计时: 年份:万 月份:00 天:00 时间:00 分钟:00 秒:00 这不是我真正想要的结局。所以我想问一下,在不使用大量if语句的情况下,是否有一种面向对象的方法来实现这一点?提前感谢

使用时间跨度

DateTime dateInTheFuture = new DateTime(....);
TimeSpan ts = dateInTheFuture - DateTime.Now;
// e.g.
Console.WriteLine (ts.ToString());

检查并在MSDN中输入各种格式,其中DateTime内的值。Parse是您的最终/结束时间:

TimeSpan t = DateTime.Parse("1/1/2016 05:00:01 AM") - DateTime.Now;
string output = string.Format("{0} Days, {1} Hours, {2} Minutes, {3} Seconds", 
    t.Days, t.Hours, t.Minutes, t.Seconds);

如果您想添加月份和年份,您可以简单地扩展string.Format方法。

那么,您打算如何在没有
计时器的情况下倒计时呢。。除了发布一行代码外,你能展示你实际拥有或尝试过的东西吗。。?