首页 > 解决方案 > 使用 jquery.js 更改 asp:textbox 文本,同时尝试使用 (Date.now - Date) 方程计算年龄

问题描述

所以我需要通过 javascript 自动计算一个人的年龄并将其显示在 asp:textbox 上。使用 jquery-ui 的 datetimepicker 获取生日。我希望我可以对两个日期变量进行算术运算,所以我打算通过以下方式计算年龄

var age = Date.Now - $bdate;

我所做的是将我的 bdate 转换为 ISO-8601 格式,因为我读到 date.parse 在尝试减去两个日期之前仅适用于符合 ISO-8601 的格式。

我的想法有什么问题吗?这是我的代码:

$('#<%= txtBDate.ClientID%>').change(function () { var rawr = Date.parse($(#'<%= txtBDate.ClientID%>').val()); $('<%=txtAge.ClientID%>').val(Date.now - rawr); });

标签: javascriptjqueryhtmlasp.net

解决方案


所以让我解决这个问题的原因是请假,晚上休息。我猜每天编码多少小时会让你又累又笨。

无论如何,这是我为解决这个问题而编写的代码

$('#<%= txtBDate.ClientID%>').change(function () {
        var today = new Date();
        var curYear =  today.getFullYear();
        var curMonth = today.getMonth();
        var bdate = new Date($('#<%=txtBDate.ClientID%>').val());
        var bYear = bdate.getFullYear();
        var bMonth = bdate.getMonth();
        var age = curYear - bYear;
        if (curMonth < bMonth) {
            age = age - 1;
        }
        $('#<%=txtAge.ClientID%>').val(age);
    })

推荐阅读