C#使用TimeSpan时间计算的简单实现

2020-01-05 09:30:53王冬梅

这个计算适合在有天数和小时等的计算,如计算 1天 减去 3h10m 有多少毫秒,如果不使用 TimeSpan 自己重写,还是需要写很多代码


   var time = TimeSpan.FromDays(1);
   var cut = new TimeSpan(0, 3, 10, 0);
   var milliseconds = (long)(time - cut).TotalMilliseconds;

尝试不使用 TimeSpan 想想需要怎么写

C#使用timespan和timer完成一个简单的倒计时器

首先利用timespan数据类型这样构造:


TimeSpan ts = new
TimeSpan(0, 45, 0);

这样就声明了一个长度为45分钟的时间段,其中构造函数参数的含义:


TimeSpan(hour,minute,second);

然后拖进去一个timer,叫timer1


timer1.Interval=1000;

设置一秒一个周期

在timer的tick事件里面这样写:


private
void timer1_Tick(object
sender, EventArgs e)
    {
      String str = ts.Hours.ToString() + ":"
+ ts.Minutes.ToString() + ":"
+ ts.Seconds.ToString();
      label17.Text = str;//label17用来显示剩余的时间
      ts = ts.Subtract(new
TimeSpan(0, 0, 1));//每隔一秒减去一秒
      if
(ts.TotalSeconds < 0.0)//当倒计时完毕
      {
        timer1.Enabled = false;
        MessageBox.Show("考试时间到,系统将强行交卷");//提示时间到,下面可以加你想要的操作
      }
    }

一个简单的倒计时器就这样完成了,嘿嘿,不看不知道,一看很简单呀

总结