Actions

Translations

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