Translations:Expression Manager examples/101/ja
From LimeSurvey Manual
目的 | 2つの日付の差を計算する |
タイプ | 出現条件 / 式質問タイプ / 検証 |
例 | 質問1(日付/時刻、コード: DOB): 誕生日はいつですか。 質問2(日付/時刻、コード: datetoday): 今日の日付は。 質問3(テキスト表示) : 生まれてからXXXX日目です。 やりたいこと: 質問1と質問2の間の日数を計算して表示します。 |
式 | {(strtotime(datetoday)-strtotime(DOB))/60/60/24} |
説明 | strtotimeは、1970年1月1日から指定された日付までの秒数を計算します。上記の式は、指定された2つの日付の間の秒数を計算します。"/60/60/24"は秒数から日数を計算しています。 "datetoday"を聞く代わりに、strtotime('now')または単にtime()を使えば、1970年1月1日から現在(すなわちアンケートに回答している時刻)までの秒数を得ることもできます。{(time() - strtotime(DOB)) / 60 / 60 / 24 / 365.25}という式によって、その人の年齢を計算することができます。この場合、適切な書式で日付を入力しないとstrtotime()関数が正しく機能しません。 |
ステップ | 2つの日付(誕生日と本日)の質問、テキスト表示の質問を作成します。 テキスト表示質問の質問テキストは、"{datetoday}現在、生まれてから{(strtotime(today)-strtotime(dob))/60/60/24}XXXX日目です。"とします。 注意: 関数strtotimeは、多くの日付フォーマットで動作しますが、すべての日付フォーマットで動作するわけではありません。問題がある場合は、日付形式をmm/dd/yyyy、yyyy-mm-dd、dd.mm.yyyyのいずれかにします。 |
サンプルファイル | Date_difference.zip |