Translations:ExpressionScript examples/110/ja
From LimeSurvey Manual
目的 | 2つの日付の差を計算する |
タイプ | 出現条件/質問タイプ:式/検証 |
例 | 質問1(date/time、コード: DOB): 誕生日はいつですか。 質問2(date/time、コード: 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月から現在(アンケート実施時点)までの秒数を直接得ることができます。{(time() - strtotime(DOB)) / 60 / 60 / 24 / 365.25}という式によってその人の年齢を簡単に計算することができます。いずれの場合においても、strtotime()関数を正しく機能させるためには、適切な形式で日付を入力する必要があります。 |
手順 | 2つの日付型質問(誕生日と今日の日付)とテキスト表示型質問を作成する テキスト表示型質問に次のように入力する: "{datetoday}現在で、生まれてから{(strtotime(today)-strtotime(dob))/60/60/24}日目です。" 注意: 関数strtotimeは、多くの日付形式に対応していますが、問題がある場合は、日付形式をmm/dd/yyyy、yyyy-mm-dd、dd.mm.yyyyのいずれかにします" |
サンプルファイル | Date_difference.zip |