我有一个表单,允许用户通过日期选择器设置出生日期。用户在网页中选择日期后,如何计算选择日期后的年龄?
有点难过如何做到这一点。
谢谢。
我有一个表单,允许用户通过日期选择器设置出生日期。用户在网页中选择日期后,如何计算选择日期后的年龄?
有点难过如何做到这一点。
谢谢。
此答案假定您已导入日期时间和时间。
"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);
}
});
});