c# 记录两个时间间隔
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 记录两个时间间隔相关的知识,希望对你有一定的参考价值。
比如我按下按钮1,然后记录一个时间,按下按钮2,记录另一个时间。首先,这两个时间应该是什么类型的?然后怎么求出这两个时间的间隔?
// 按钮1DateTime Time1 = DateTime.Now;
// 按钮2
DateTime Time2 = DateTime.Now;
// Difference in days, hours, and minutes.
TimeSpan ts = Time2 - Time1;
// Difference in ticks.
int difference = ts.TotalMilliseconds; //毫秒单位,也可以用Ticks,1 ticks=100 纳秒 参考技术A 首先这两个时间类型应该是DATA类型。计算间隔:将两个时间转化为int类型进行相减得到相应的间隔。 参考技术B 建议使用 System.Diagnostics.Stopwatch;
var sw = new System.Diagnostics.Stopwatch();
sw.Start();
.......
sw.Stop();
Console.WriteLine(sw.Elapsed.TotalMilliseconds); 参考技术C datetime 类型
DateTime.Compare(dt1,dt2)
C# 使用Timer控件设置时间间隔
Timer 控件可以定期引发事件,该控件是为 Windows 窗体环境设计的。时间间隔的长度由 Interval 属性定义,其值以毫秒为单位。若启用了该组件,则每个时间间隔引发一个 Tick 事件,在该事件中添加要执行的代码。如图1 所示为 Timer 控件。
图1 Timer 控件
Interval 属性用于设置计时器开始计时的时间间隔。
语法如下:
public int interval { get; set; }
属性值:计时器每次开始计时之间的毫秒数,该值不小于 1。
当指定的计时器间隔已过去,而且计时器处于启用状态时会引发控件的 Tick 事件,Enabled 属性用于设置是否启用计时器。
语法如下:
public virtual bool Enabled { get; set; }
属性值:如果计时器当前处于启用状态,则为 true;否则为 false。默认为 false。
【例1】 创建一个 Windows 应用程序,窗体加载时,设置 Timer 控件的 Interval 属性为 1000毫秒(1 秒),使计时器的时间间隔为1秒。然后在 Timer 控件的 Tick 事件中,使文本框中显示当前的系统时间。在按钮的 Click 事件中设置 Enabled 属性,以启用或停止计时器。
代码如下:
private void Form1_Load(object sender, EventArgs e)
{
timer1.Interval = 1000; //设置 Interval 属性为 1000 毫秒
}
private void timer1_Tick(object sender, EventArgs e) // timer1 控件的 Tick 事件
{
textBox1.Text = DateTime.Now.ToString(); //获取系统当前日期
}
private void button1_Click(object sender, EventArgs e)
{
if(button1.Text =="开始") //判断按钮的 Text 属性是否为 “开始”
{
timer1.Enabled = true; //启动 timer1 控件
button1.Text ="停止"; //设置按钮的 Text 属性为 “停止”
}
else //否则
{
timer1.Enabled = false; //停止 timer1 控件
button1.Text="开始"; //设置按钮的 Text 属性为 “开始”
}
}
程序的运行结果如图2 所示。
图2 制作系统时钟
说明
在启动和停止计时器时,也可以应用Start和Stop方法来实现。
- END -
关注小编不迷路呦~
以上是关于c# 记录两个时间间隔的主要内容,如果未能解决你的问题,请参考以下文章