Actions

Question type - Date

From LimeSurvey Manual

Revision as of 13:11, 17 December 2015 by DenisChenu (talk | contribs) (Remove DropDown year)
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎slovenščina • ‎日本語

Short description

This question type can be used to ask for a certain date, for a time or a combination of date and time. Dates and times can be entered directly, chosen from a popup calendar or from drop-down boxes. For validation, minimum and maximum dates can be chosen. Various date and time formats are supported. Some of these features are only available from LimeSurvey version 2.05+.

D Date DD.jpg Datetime.jpg Timepicker.jpg

Core settings

Mandatory

Description

This option allows the survey administrators to request their respondents to answer to certain survey questions. If the mandatory questions are not answered, the respondents will not be able to proceed further. If you have a question with multiple subquestions and you require only certain subquestions to be answered, use the minimum answer attribute located under the Logic tab.


Help.pngIf you use any of the preinstalled themes and the mandatory question attribute is enabled, a red asterisk will be shown next to the question. If you wish to hide it, please check these instructions.


Available options

  • On
  • Off (default)


Relevance equation

Description

If the value of the relevance equation is "1" or "true", the question is "relevant" in the survey context, i.e. it is shown to the survey participant. If not, the question is hidden. Any survey question allows you to specify a relevance equation. This function is the successor of conditions and supports much more complex conditional logic.

Syntax Highlighting

Whenever you save the relevance equation, it is evaluated and syntax-highlighted. Any errors will be color coded so that you can quickly detect and fix them.

Notice.png
 Hint: To check if all the relevance equations are used correctly within your survey, read about our show logic file feature.


Valid values

  • Any equation that makes use of the ExpressionScript syntax, without surrounding curly braces.

Examples

Here are good examples of syntax highlighting.


Advanced settings

Reverse answer order (reverse)

Description

If activated, the order of the answers will be reversed.

Available options

  • On
  • Off (default)

Example

Let's assume that you want to use an Array (Numbers) question type. If this option is disabled (default value), then the possible answers a survey participant can select are: "1, 2, 3, ... , 10". If enabled, the setting will reverse the order of the available answers: "10, 9, 8, ... , 1".



Randomization group name (random_group)

Description

It places the questions into a specified randomization group, all questions included in the specified group being displayed in a random order to the survey respondents.

You can find a sample survey using randomization group name in ExpressionScript sample survey.

Valid values

Just enter any string you like (for example: 'group1'). All question which have set the same string within the randomization group name box will have their place in the survey randomized (=randomly exchanged among each other).


Preview To preview the questions use the preview survey instead of the preview question group function, as the second has been reported to not show the questions in a randomized order.



Display dropdown boxes (dropdown_dates)

Description

If enabled, the date/time question type will display a dropdown box to the respondents from where to choose the date/time, instead of the default popup.

Available options

  • On
  • Off (default)

Example

If it is turned on, the question will be displayed in the following way:

D Date DD.jpg



Always hide this question (hidden)

Description

If enabled, the question will always be hidden - it will not be displayed to the survey participants. This function can be used in the following scenarios:

  • If you wish to prefill a question with a URL and you want not to have it displayed on the screen. This overrides any conditions used within the survey because the respective question will not even be embedded on the page.
  • If you wish to store or calculate a value on the fly via the ExpressionScript - Presentation.
Help.png Note: A common question type that is used with this function is the Equation one.

Available options

  • On
  • Off (default)



Minimum date (date_min)

Description

This question attribute can be used to set the minimum value for a date question (in y-m-d format or any English valid string - see below for more details). It can be used for both popup and dropdown display options. If a minimum date is not set, then 1.1.1900 is used as default.


Important.png  Attention : The Expression Manager validation option can also be used for setting up a "minimum date". However, if you you use the popup calendar and the expression relies on a previous question located on the same page, the year will not be displayed correctly in the popup calendar.



Valid values

  • Any date value in format YYYY-MM-DD (eg., 2017-08-24);
  • Any year value;
  • Any English string : "now", "-10 years", "tomorrow";
  • Reference to another date/time question : AnotherDateQuestion (using the question code);
  • Expressions : With expressions, a minimum date can be dynamically calculated. For example, you can use a date from a previous answer + 3 days as a minimum for the present question by entering: date("Y-m-d",strtotime(departuredate)+3*60*60*24).



Maximum date (date_max)

Description

This question attribute can be used to set the maximum value for the date question (in y-m-d format or any other English valid string - see below for more options). It can be used for both popup and dropdown display options.

Important.png  Attention : The Expression Manager validation option can also be used for setting up a "maximum date". However, if you use the popup calendar and the expression relies on a previous question located on the same page, the year will not be displayed correctly in the popup calendar.


Valid values

  • Any date value in format YYYY-MM-DD (eg., 2018-08-24);
  • Any year value;
  • Any English string : "now", "-10 years", "tomorrow";
  • Reference to another date/time question : AnotherDateQuestion (using the question code);
  • Expressions: With expressions, a date can be dynamically calculated. For example, you can use a date from a previous answer + 3 days as a maximum date for the present question by entering: date("Y-m-d",strtotime(departuredate)+3*60*60*24).



Date/Time format

Description

This question option can be used to specify a custom date format. If it is empty, the survey date format will be used.

Valid values

  • The d/dd,m/mm,yy/yyyy,H/HH,M/MM formats can be used to display the date and/or time, while "-", ".", "/", ":" can be used as separators.

Examples

  • yyyy-mm-dd - year-month-day;
  • dd.mm.yyyy HH:MM - day.month.year Hour:Minute;
  • HH:MM - Hour:Minute (only the time can be selected);
  • yyyy/mm - year/month.



Tip for whole question validation equation (em_validation_q_tip)

Description

If you are using the question validation equation, you can use this box in order to display an optional message as question tip on how the question has to be filled out.

Valid values

Example

See the example from the question validation equation wiki section- it shows how the tip can be tailored to show which parts of a multiple short text question fail the validation criteria.



Insert page break in printable view (page_break)

Description

This attribute is only active when you actually print a survey from the Printable View. It forces a page break before the question.

Available options

  • On
  • Off (default)


Dates and Expression Manager: Advanced validation and calculation

Limesurvey versions 2.05+ and above make it fairly easy to validate dates using the date_min and date_max fields (see above). Use these whenever possible. If you need to do more fancy stuff, you may be able to work (and calculate) with dates using Expression Manager and the function strtotime() (New in 2.0 build 130515). It calculates the number of seconds from the 1st January 1970 to a given date. Example: if you want to display in a question text the number of days that have passed since a departure date (asked in a previous question) and today, you can can use the expression {(strtotime("now")-strtotime(departure))/60/60/24}. Please be aware that strtotime() works with a lot of different but not ALL date formats. Limesurvey's default date format (MM-DD-YYYY) does NOT work with strtotime(). Please set your survey to use one of the following date formats to avoid problems: YYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, MM/DD/YYYY, DD-MM-YYYY.

Important.png  Dates in Limesurvey are saved as a string (text format).Starting in ver. 2.05+, Expression Manager converts all dates part of an expression into the standard format "yyyy-mm-dd HH:MM:SS". This makes it much easier to compare dates in an expression (e.g. "date1>date2"). If you need a datestring in the format it was asked in the question, use the ".shown" attribute (e.g.: "So you were born on the {birthdate.shown}. Is this right?")