TimeSpan无法正常工作

时间:2014-03-10 12:48:02

标签: c# asp.net webforms timespan

下面是我安排的代码,但仍有同样的问题,无法在最后一页找到我的开始和结束时间?我该怎么做?

public void start()
    {
        DateTime startTime = DateTime.Now;
    }

    protected void btnStart_Click(object sender, EventArgs e)
    {
        start();
        Response.Redirect("~/end.aspx");
    }

public void end()
    {
        DateTime endTime = DateTime.Now;
    }
    protected void btnEnd_Click(object sender, EventArgs e)
    {
        end();
        Response.Redirect("~/display.aspx");
    }

public partial class display : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TimeSpan timeSpent = endTime - startTime;

        lblDisplay.Text = string.Format("Time: {0}", timeSpent);
    }
}

现在有人可以帮我吗?

5 个答案:

答案 0 :(得分:5)

您可以使用

DateTime start = DateTime.Now;
//........    some code here.......
DateTime end = DateTime.Now;
TimeSpan timeSpent = end - start;

然后使用

timeSpent.TotalMilliseconds or timeSpent.TotalSeconds .....

时间跨度的属性都在智能感知中(分钟/天/小时/秒/毫秒......)

答案 1 :(得分:2)

你可以试试这个:

TimeSpan timeSpent = end.Subtract(start);

答案 2 :(得分:2)

您无需将其转换为字符串。

DateTime start = DateTime.Now;
DateTime end = DateTime.Now;

(注意:上述两次相同)

完成后,您可以使用上面显示的其他技术之一来获得时间跨度:

var timeSpent = (end - start);

TimeSpan timeSpent = end.Subtract(start);

要显示它:

Console.WriteLine(timeSpent.TotalMilliseconds);

现在,去代码吧! :)

答案 3 :(得分:1)

 TimeSpan span = end.Subtract ( start );

这将为您提供从开始到结束之间的时间

答案 4 :(得分:1)

如果您想知道工作时间,可以使用秒表课程http://msdn.microsoft.com/en-us/library/system.diagnostics.stopwatch(v=vs.110).aspx