gpt4 book ai didi

c# - 耗时/秒表

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:58 27 4
gpt4 key购买 nike

我想创建一个跟踪任务时间的 ASP.NET WinForms 应用程序。我需要能够编写表单,以便将任务添加到数据库、在新选项卡中打开它,以及能够开始、暂停和停止任务。完成后,我需要计算完成任务所需的时间。我想查看页面上运行的秒表,显示 hours:min:sec 通过 AJAX 每秒更新一次。我已经在 TimeSpan、DateTime、StopWatch 等网站上查看过,但我似乎找不到任何适合我的东西。我从一个带有开始和停止按钮的简单表单开始。开始按钮的 _click 事件分配我的 DateTime 变量“startTime = DateTime.Now”,停止按钮的 _click 事件分配我的 DateTime 变量“endTime = DateTime.Now”。然后我使用 TimeSpan 'elapsed' 来计算 TimeSpan 'elapsed = (endTime - startTime)。当我更新标签以显示耗时时,我希望只得到已经过去的秒数,但我得到了整个 DateTime 字符串。下面是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Diagnostics;

namespace CS_StopWatch
{
public partial class Default : System.Web.UI.Page
{
//public Stopwatch myStopWatch = new Stopwatch();
public DateTime startTime;
public DateTime endTime;
public TimeSpan ts_timeElapsed;
public string s_timeElapsed;
protected void Page_Load(object sender, EventArgs e)
{

}

protected void StartButton_Click(object sender, EventArgs e)
{
//myStopWatch.Start();
startTime = DateTime.Now;
}

protected void StopButton_Click(object sender, EventArgs e)
{
//myStopWatch.Stop();
//ElapsedLabel.Text = "Time Elapsed: " + myStopWatch.Elapsed;
endTime = DateTime.Now;
ts_timeElapsed = (endTime - startTime);
s_timeElapsed = GetElapsedTimeString();
ElapsedLabel.Text = "Time Elapsed: " + s_timeElapsed;
}

public string GetElapsedTimeString()
{
int days = ts_timeElapsed.Days;
double hours = ts_timeElapsed.Hours;
double mins = ts_timeElapsed.Minutes;
double secs = ts_timeElapsed.Seconds;
string x = "";
if (days != 0)
{
x += days.ToString() + ":";
}
if (hours != 0)
{
x += hours.ToString() + ":";
}
if (mins != 0)
{
x += mins.ToString() + ":";
}
if (secs != 0)
{
x += secs.ToString();
}

return x;
}
}
}

最佳答案

我不确定这是否会导致您的问题,但您应该使用 int 而不是 double,因为 TimeSpan 成员是 int 无论如何。将 double 与精确数字进行比较 can cause problems

        int hours = ts_timeElapsed.Hours;
int mins = ts_timeElapsed.Minutes;
int secs = ts_timeElapsed.Seconds;

关于c# - 耗时/秒表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585502/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com