-1

我有一个表单,允许用户通过日期选择器设置出生日期。用户在网页中选择日期后,如何计算选择日期后的年龄?

有点难过如何做到这一点。

谢谢。

4

1 回答 1

2

此答案假定您已导入日期时间和时间。

"How can I calculate the age after the date is selected?"

给你,就这么简单。

假设存储在数据库中的他的出生日期如下所示:

dob = datetime.datetime(1990, 4, 18, 11, 29, 25, 52392) # 18 Apr, 1990

那么 dob in seconds 是:

dob_sec = time.mktime(dob.timetuple())

当前时间(以秒为单位)为:

c_time = time.time()

所以总秒数是:

lived = c_time-dob_sec

生活分钟数:

min = lived/60

居住时间:

hrs = min/60

生活天数;

days = hrs/24

生活年限:

age_in_years = days/365

如果您希望它自动显示在网页上,请使用 jquery 之类的东西。但在此之前,您需要在表单中添加一个 id

<form>
    ....
    <div id="show_age"></div>
<form>

并在 jquery 中为您的年龄计算视图添加 ajax 调用。这个视图的 html 页面应该有一个像这样的输入隐藏类型。

<input type='hidden' name='age_in_years' value='{{age_in_years}}' />

其中 {{age_in_years}} 将来自上下文中的年龄计算视图。

// I am not writing here the whole jquery code for you.
// You have to try it yourself...
$("#id_date_picker").change(function() {
    $.ajax({
         // You ajax call here
         // in data, pass the selected value that will act as a parameter to 
         //you django age calculation views.
         success: function(args) {
              var age_in_years = $("args input[name="age_in_years"].val();
              $("#show_age").html(age_in_years);
         }

    });

});
于 2013-06-15T06:12:04.970 回答