Actions

Question type - Date/fr: Difference between revisions

From LimeSurvey Manual

(Created page with "Limesurvey version 2.05+ et au-delà rend tout à fait facile de valides des dates en utilisant les champs date_max et date_min (voir ci-dessus). Utilisez les aussi souvent qu...")
(Updating to match new version of source page)
(7 intermediate revisions by 2 users not shown)
Line 5: Line 5:
=Brève description=
=Brève description=


<onlyinclude>{{#ifeq:{{{transcludesection|short_description}}}|short_description|Ce type de question peut être utilisé pour demander une date, une heure ou une combinaison des deux.
<div style="display:none;"></div>
<onlyinclude>{{#ifeq:{{{transcludesection|short_description}}}|short_description|<div style="display:none;"></div>
 
<div class="mw-translate-fuzzy">
Ce type de question peut être utilisé pour demander une date, une heure ou une combinaison des deux.
Dates et heures peuvent être entrées directement, choisies depuis un calendrier popu^ou depuis une liste de choix. En ce qui concerne la validation, des dates minimum et maximum peuvent être précisées.
Dates et heures peuvent être entrées directement, choisies depuis un calendrier popu^ou depuis une liste de choix. En ce qui concerne la validation, des dates minimum et maximum peuvent être précisées.
Divers formats de date et d'heure sont supportés, certaines de ces fonctionnalitésne sont disponibles que depuis la version 2.05+.
Divers formats de date et d'heure sont supportés, certaines de ces fonctionnalitésne sont disponibles que depuis la version 2.05+.
</div>


[[File:D_Date_DD.jpg]]
<center>[[File:timepicker.jpg]][[File:D_Date_DD.jpg]]
[[File:datetime.jpg]]
[[File:datetime.jpg]]
[[File:timepicker.jpg]]
</center>
 
'''Example:''' [[Media:Example_Date_Time.zip|Example_Date_Time.zip]]
 
<div style="display:none;"></div>}}</onlyinclude><div style="display:none;"></div>


}}</onlyinclude>
=General options=
=Core settings=


{{QS:mandatory}}
{{QS:mandatory}}
Line 20: Line 28:
{{QS:relevance}}
{{QS:relevance}}


=Advanced settings=
=Display=
 
{{QS:dropdown_dates}}
 
{{QS:hide_tip}}
 
{{QS:Month_display_style}}


{{QS:Reverse}}
{{QS:Reverse}}


{{QS:Random_group}}
{{QS:Question_theme}}
 
{{QS:dropdown_dates}}


{{QS:Hidden}}
{{QS:Hidden}}


{{QS:dropdown_dates_year_min}}
{{QS:CSS_Class}}
 
{{QS:dropdown_dates_year_max}}


{{QS:date_min}}
{{QS:date_min}}


{{QS:date_max}}
{{QS:date_max}}
{{QS:Printable_survey_relevance_help}}
=Input=


{{QS:date_time_format}}
{{QS:date_time_format}}
{{QS:Minute_step_interval}}
=Logic=
{{QS:Random_group}}
{{QS:em_validation_q}}


{{QS:em_validation_q_tip}}
{{QS:em_validation_q_tip}}
=Other=


{{QS:Page_break}}
{{QS:Page_break}}


=Statistics=
{{QS:Display_chart}}
{{QS:Chart_type}}
<div class="mw-translate-fuzzy">
=Dates et Expression Manager : Calcul et validation avancés =
=Dates et Expression Manager : Calcul et validation avancés =
</div>


<div class="mw-translate-fuzzy">
Limesurvey version 2.05+ et au-delà rend tout à fait facile de valides des dates en utilisant les champs date_max et date_min (voir ci-dessus). Utilisez les aussi souvent que possible. Si vous avez besoin de faire des choses plus "fantaisistes", vous pourrez travailler (et calculer) avec les dates en utilisant l'Expression Manager et la fonction strtotime(){{NewIn|2.0|b=130515}}; Elle calcule le nombre de secondes entre le 1 Janvier 1970 et une date donnée. exemple : si vous voulez afficher dans une question de type texte le nombre de jours ecoulés entre une date de départ (demandée dans une question précédente) et aujourd'hui, vous pouvez utiliser l'expression {(strtotime("now")-strtotime(departure))/60/60/24}.
Limesurvey version 2.05+ et au-delà rend tout à fait facile de valides des dates en utilisant les champs date_max et date_min (voir ci-dessus). Utilisez les aussi souvent que possible. Si vous avez besoin de faire des choses plus "fantaisistes", vous pourrez travailler (et calculer) avec les dates en utilisant l'Expression Manager et la fonction strtotime(){{NewIn|2.0|b=130515}}; Elle calcule le nombre de secondes entre le 1 Janvier 1970 et une date donnée. exemple : si vous voulez afficher dans une question de type texte le nombre de jours ecoulés entre une date de départ (demandée dans une question précédente) et aujourd'hui, vous pouvez utiliser l'expression {(strtotime("now")-strtotime(departure))/60/60/24}.
Attention : strtotime() fonctionne avec beaucoup de formats de date mais pas TOUS.
Attention : strtotime() fonctionne avec beaucoup de formats de date mais pas TOUS.
Line 51: Line 85:
Configurez vos questionnaires pour qu'ils utilisent un des formats de dte suivants pour éviter les problèmes :
Configurez vos questionnaires pour qu'ils utilisent un des formats de dte suivants pour éviter les problèmes :
AAAA-MM-JJ, AAAA/MM/JJ, JJ.MM.AAAA, MM/JJ/AAAA, JJ-MM-AAAA.
AAAA-MM-JJ, AAAA/MM/JJ, JJ.MM.AAAA, MM/JJ/AAAA, JJ-MM-AAAA.
</div>
'''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 formats, but with not all of them! For example, 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 or DD-MM-YYYY.
{{Alert||text=Dates in Limesurvey are saved as a string (text format). The [[ExpressionScript - Presentation|ExpressionScript]] 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.: You were born on the {birthdate.shown}.)}}


{{Alert||text=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 datetring 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?"}}
[[Category:Question types]][[Category:Mask questions]]

Revision as of 16:45, 20 May 2020

Brève description

Ce type de question peut être utilisé pour demander une date, une heure ou une combinaison des deux. Dates et heures peuvent être entrées directement, choisies depuis un calendrier popu^ou depuis une liste de choix. En ce qui concerne la validation, des dates minimum et maximum peuvent être précisées. Divers formats de date et d'heure sont supportés, certaines de ces fonctionnalitésne sont disponibles que depuis la version 2.05+.

Example: Example_Date_Time.zip

General options

Mandatory

Description

This option allows the survey administrators to request their respondents to answer 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.

If 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 - Question must be answered before the participant can proceed to the next page - the answer option 'No answer' is never shown.
  • Soft - If the question is not answered, a warning is shown when trying to proceed to the next page - however, the participant can choose to ignore the warning and proceed. Note that the 'No answer' option is still shown (if activated in survey presentation settings)
  • Off (default) - Question can be left unanswered


Condition (previously "Relevance equation")

Description

If the result value of the condition 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 condition, it is evaluated and syntax-highlighted. Any errors will be color coded so that you can quickly detect and fix them.

 Hint: To check if all conditions are used correctly within your survey, read about our show logic file feature.


Valid values

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

Examples

Here are good examples of syntax highlighting.


Display

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:



Hide tip (hide_tip)

Description

Most questions will usually include a tip that says "Please choose one of the following options" or a hint text on how to fill out the question. This attribute allows you to turn off or on this tips/hints.

These tips/hints include validation criteria messages (such as min/max number of answers, min/max/equals sum value). If hide_tip is enabled, these messages will be hidden. However, if the user enters invalid data, the tips will appear. They will be coloured in red, getting changed to green once the validation criteria are met.

Available options

  • On - the tips/hints are hidden;
  • Off (default).


Month display style (month_display_style)

Description

The months can be displayed to the respondents in three ways: by using their short names (Jan, Feb, etc.), full names (January, February, etc.) or the number/position of the month in the yearly calendar (01 for January, 02 for February, and so on).

Available options

  • Short names
  • Full names
  • Numbers



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".


Question theme (question_theme)

Description

It allows you to use customized themes for the respective question.

Available options

  • Your created question themes which are located under the Question themes in the Themes panel.

See: https://manual.limesurvey.org/Question_themes

Note: This feature is under development at the moment.


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.
Note: A common question type that is used with this function is the Equation one.

Available options

  • On
  • Off (default)


CSS class (css_class)

Description

If you want to add special CSS classes to certain questions, you can enter the CSS class name(s) in this box. Make sure you leave an empty space between different class names.

Valid values

  • Any text string with a space between different CSS class names.
 Hint: You can also insert an expression in this box (New in 3.0.0 ). Remember that the output of the expression will not be updated dynamically.


  According to the W3C, CSS class names can contain only the characters [a-zA-Z, and 0-9] and ISO 10646 characters U+00A1 and higher, plus the hyphen (-) and the underscore (_). They cannot start with a digit, or a hyphen followed by a digit. LimeSurvey encodes CSS classes, but it does not fix it totally.




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.


  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.

  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).


Relevance help for printable survey (printable_survey_relevance_help)

Description

If you wish to print a survey, you can also print the relevance equations for each question. But, if you wish to offer instead an explanation rather than the expression on the printed form, fill in this box with the text explanation for the relevance equation.

Valid values

  • Any text and/or numbers you wish to be displayed on the printable form.


Input

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.



Minute step interval (minute_step_interval)

Description

 Hint: This feature changed with version 3.14.12


It's used only input format makes use of minutes ("MM") .


Valid values

  • Any numerical value smaller than 60. Adding a value bigger than 60 is redundant -> only "0" or "00" will be displayed in the dropdown box as possible answers.


Example

In the below example, the minute step interval option was set up to 7:


Logic

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.



Question validation equation (em_validation_q)

Description

This is an equation that is used to validate the entire question (e.g, all of its parts collectively for a multi-answer question). If the question fails the validation criteria, then em_validation_q_tip message will be displayed (it uses the CSS style .error). This tip uses the .em_q_fn_validation CSS style, which is hidden by default within template.css.

The main difference between this feature and the subquestion validation equations (em_validation_sq option) is that for this feature, if the question (or question parts) fail validation, then an error message could be shown. For the subquestion validation, each text entry cell (e.g., in an array question type, but it can also be applied to single entry question types) will be styled so that the background color is (light) red.

Valid values

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

Example

  • You want to collect demographic information from users via a multiple short text question, and you want to validate that the user has entered a valid email address and phone number.

This example shows how the question looks with invalid answers:

And here is what it looks like with one invalid answer:

Here is how you edit a question to enter that information:

And here is part of the Show Logic File output that lets you check the accuracy of your expression and ensure that there are no syntax errors:

As you can see, the validation equation tests that both the email and phone number are either empty or match a regular expression filter.

The validation tip only shows the warning message if the phone or email appears invalid.

 Hint: In order to create complex validation messages, read about the usage of the ExpressionScript.


If you wish to import the example from above into your LimeSurvey installation, download the following .lsq file: Em_validation_q_example.zip.

 Hint: Remember, LimeSuvey uses the Perl syntax for regular expressions, so they should start and end with / (slash character)!



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.


Other

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)


Statistics

Display chart (display_chart)

Description

This attribute allows the survey administrator to choose if a chart that contains the question results should be displayed to the survey participants after they filled out the survey.

Note: To have the chart displayed on the last page, you have to enable the following options:


Available options

  • On
  • Off (default)



Chart type (chart_type)

Description

This attribute allows the survey administrator to choose which type of chart will be displayed to the respondent once he/she finished filling out the survey.

Note: Do not forget to change the question and survey settings in order to have the charts displayed at the end on the survey. For more details, check the wiki section on the display chart question attribute.

Available options

  • Bar chart
  • Pie chart
  • Radar
  • Line
  • PolarArea
  • Doughnut


Dates et Expression Manager : Calcul et validation avancés

Limesurvey version 2.05+ et au-delà rend tout à fait facile de valides des dates en utilisant les champs date_max et date_min (voir ci-dessus). Utilisez les aussi souvent que possible. Si vous avez besoin de faire des choses plus "fantaisistes", vous pourrez travailler (et calculer) avec les dates en utilisant l'Expression Manager et la fonction strtotime() (New in 2.0 build 130515); Elle calcule le nombre de secondes entre le 1 Janvier 1970 et une date donnée. exemple : si vous voulez afficher dans une question de type texte le nombre de jours ecoulés entre une date de départ (demandée dans une question précédente) et aujourd'hui, vous pouvez utiliser l'expression {(strtotime("now")-strtotime(departure))/60/60/24}. Attention : strtotime() fonctionne avec beaucoup de formats de date mais pas TOUS. Le format de date par défaut de Limesurvey (MM-JJ-AA) ne fonctionne PAS avec strtotime(). Configurez vos questionnaires pour qu'ils utilisent un des formats de dte suivants pour éviter les problèmes : AAAA-MM-JJ, AAAA/MM/JJ, JJ.MM.AAAA, MM/JJ/AAAA, JJ-MM-AAAA.


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 formats, but with not all of them! For example, 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 or DD-MM-YYYY.

  Dates in Limesurvey are saved as a string (text format). The ExpressionScript 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.: You were born on the {birthdate.shown}.)