为了账号安全,请及时绑定邮箱和手机立即绑定

在Asp.net中获取两次之间的小时数

在Asp.net中获取两次之间的小时数

C#
沧海一幻觉 2022-11-22 16:05:14

我在 .aspx 中有一个 3 文本框。

1.txtStartTime

2.txtEndTime

3.txtNumberOfHours


我想在txtNumberOfHours中自动计算小时数


这是我的代码:


测试小时数.aspx


<asp:TextBox ID="txtStartTime" runat="server" ontextchanged="txtStartTime_TextChanged" AutoPostBack="true"></asp:TextBox>

<asp:TextBox ID="txtEndTime" runat="server" ontextchanged="txtEndTime_TextChanged" AutoPostBack="true"></asp:TextBox>

<asp:TextBox ID="txtNumberOfHours" runat="server"></asp:TextBox>

小时数.aspx.cs


  protected void txtEndTime_TextChanged(object sender, EventArgs e)

    {

        txtNumberOfHours.Text = calculateTimeDiff(txtStartTime.Text, txtEndTime.Text).ToString();

    }

    protected void txtStartTime_TextChanged(object sender, EventArgs e)

    {

        txtNumberOfHours.Text = calculateTimeDiff(txtStartTime.Text, txtEndTime.Text).ToString();

    }


    private TimeSpan calculateTimeDiff(string t1, string t2)

    {

        TimeSpan ts = TimeSpan.Zero; 

        DateTime tt1, tt2;

        if (DateTime.TryParse(t1, out tt1) && DateTime.TryParse(t2, out tt2))

        {

            ts = tt2.Subtract(tt1);

        }

        return ts;

    }

我只希望小时不包括分钟和秒,但不知何故我得到了这个结果。


txtNumberOfHours 中的结果:hr:mins:seconds


查看完整描述

2 回答

?
Qyouu

TA贡献1488条经验 获得超10个赞

txtNumberOfHours.Text = (t2 - t1).TotalHours.ToString();

该语句返回小时数。


查看完整回答
反对 回复 6天前
?
九州编程

TA贡献1512条经验 获得超3个赞

尝试这个:

(DateTime.Parse(t2) - DateTime.Parse(t1)).TotalHours


查看完整回答
反对 回复 6天前
  • 2 回答
  • 0 关注
  • 8 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信