[C#]利用TimeSpan实现倒计时效果

示例:

using System;

using System.Threading;



namespace ConsoleApplication29

{

    class Program

    {

        static void Main(string[] args)

        {

            try

            {

                DateTime _timeEnd = DateTime.Now.AddSeconds(62);

                ThreadPool.QueueUserWorkItem((arg) =>

                {

                    TimeSpan _ts = _timeEnd - DateTime.Now;

                    while (true)

                    {

                        Thread.Sleep(1000);

                        if (_ts.TotalSeconds >= 0)

                        {

                            Console.WriteLine("还剩余{0}分钟{1}秒", _ts.Minutes, _ts.Seconds);

                            _ts = _ts.AddSeconds(-1);

                        }

                    }

                });

            }

            catch (Exception ex)

            {

                Console.WriteLine(ex.Message);

            }

            finally

            {

                Console.ReadLine();

            }

        }

    }

    public static class TimeSpanToolV2

    {

        public static TimeSpan AddSeconds(this TimeSpan ts, int seconds)

        {

            return ts.Add(new TimeSpan(0, 0, seconds));

        }

        public static TimeSpan AddMinutes(this TimeSpan ts, int minutes)

        {

            return ts.Add(new TimeSpan(0, minutes, 0));

        }

        public static TimeSpan AddHours(this TimeSpan ts, int hours)

        {

            return ts.Add(new TimeSpan(hours, 0, 0));

        }

    }

}

代码效果:

image

你可能感兴趣的:(time)