-1

ユーザーが日付ピッカーを介して生年月日を設定できるフォームがあります。ユーザーが Web ページで日付を選択した後、日付が選択された後の年齢を計算するにはどうすればよいですか?

これを行う方法に困惑しています。

ありがとう。

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 は次のとおりです。

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

Web ページに自動的に表示する場合は、次のような 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 に答える