在几分钟内获得时间差异

时间:2014-05-14 18:43:30

标签: c# datetime

我的应用程序中有两个按钮"开始"和"停止"。

当用户点击“开始”按钮时,LabelStartTime.Text包含当前系统时间(HH:MM AM / PM)。

当用户点击停止按钮时LabelStopTime.Text包含当前系统时间和LabelTotle.Text

我试图在几分钟内显示时差。我只知道如何获得标签值的当前时间。

lblCurrentTime.Text = DateTime.Now.ToShortTimeString(); //获取当前时间

        private void button1_Click(object sender, EventArgs e)
    {
        lblCurrentTime.Text = DateTime.Now.ToShortTimeString(); // get system time to the  Start time 

        Stopwatch stopWatch = new Stopwatch();
        stopWatch.Start();
    }


    private void button2_Click(object sender, EventArgs e)
    {
        Stopwatch stopWatch = new Stopwatch();
        stopWatch.Stop();

        textBox1.Text = DateTime.Now.ToShortTimeString();
        lblCurrentPrice.Text = Stopwatch.Elapsed.TotalMinutes; 



    }

这 - > Stopwatch.Elapsed.TotalMinutes给定错误

1 个答案:

答案 0 :(得分:4)

考虑使用System.Diagnostics.Stopwatch类。单击第一个按钮时调用Start(),单击第二个按钮调用Stop()。然后,分钟的差异为Stopwatch.Elapsed.TotalMinutes;

在代码示例中,您现在已经宣布两个new秒表仅存在于每个方法的范围内。

在这样的方法之外声明它:

Stopwatch stopWatch = new Stopwatch();

private void button1_Click(object sender, EventArgs e)
{
    // get system time to the  Start time 
    lblCurrentTime.Text = DateTime.Now.ToShortTimeString(); 

    stopWatch.Start();
}

private void button2_Click(object sender, EventArgs e)
{
    stopWatch.Stop();

    textBox1.Text = DateTime.Now.ToShortTimeString();
    lblCurrentPrice.Text = Stopwatch.Elapsed.TotalMinutes; 
}