Javascript 年龄应根据asp.net中的出生日期计算?

Javascript 年龄应根据asp.net中的出生日期计算?,javascript,c#,asp.net,Javascript,C#,Asp.net,我是asp.net新手 我想当用户选择出生日期,然后自动计算他们的年龄,填写年龄文本框,我执行一个逻辑,但我的逻辑是错误的 代码: default.aspx <form> <label for="date"><b>Date Of Birth:</b></label> <asp:Calendar ID="txtdate" placeholder="Select Your Date O

我是asp.net新手

我想当用户选择出生日期,然后自动计算他们的年龄,填写年龄文本框,我执行一个逻辑,但我的逻辑是错误的

代码:

default.aspx

<form>
            <label for="date"><b>Date Of Birth:</b></label>
            <asp:Calendar  ID="txtdate" placeholder="Select Your Date Of Birth" runat="server" OnSelectionChanged="txtdate_SelectionChanged"></asp:Calendar>


            <label for="age"><b>Age:</b></label>
            <asp:TextBox ID="txtage" runat="server" placeholder="Age"></asp:TextBox>
</form>
当我在手表窗口中从日历(2017年1月12日)中选择出生日期,然后显示3年 但我想显示2年4个月24天

观察窗口:

我需要在哪个地方更改逻辑?

试试这个:

var age = DateTime.Now - birthdate;
而不是:

int age = DateTime.Now.Year - birthdate.Year;
试试这个:

var age = DateTime.Now - birthdate;
而不是:

int age = DateTime.Now.Year - birthdate.Year;

通过你的想法告诉我们
int age=DateTime.Now.Year-birthdate.Year是否?@mjwills哪个地方更改代码?因为int,float给出了完整的数字这个问题已经在这里得到了回答:通过你的想法告诉我们
int age=DateTime.Now.Year-birthdate.Year是否?@mjwills哪个地方更改代码?因为int,float给出了整数这个问题已经在这里得到了回答:当我选择2018年12月28日,然后显示年龄类型575.15:20:13.7173816,这里我缺少了一些东西
txtage.Text=age.ToString()我正在写入tostring,这就是日期未正确显示的原因?当我选择2018年12月28日,然后显示此类型的年龄575.15:20:13.7173816时,我可以在此处执行什么操作?这里我缺少一些内容
txtage.Text=age.ToString()我正在写入tostring,这就是日期未正确显示的原因?我可以在这里做什么您可以更改此行
DateTime Birth=txtdate.SelectedDate.Date因此,您的代码运行良好。我注意到,许多在线年龄计算器显示的日期错误,这是多次测试的原因。您是否可以更改此行
DateTime Birth=txtdate.SelectedDate.date因此,您的代码运行良好,我注意到许多在线年龄计算器显示错误的日期,这是多次测试的原因