Тип calendar поля форми надає текстове поле для введення дати. Піктограма поряд із текстовим полем надає посилання на календар, що спливає, який також можна використовувати для введення значення дати. Якщо поле має збережене значення, воно відображається в текстовому полі. Інакше відображається значення за налаштуванням, якщо воно є.
- type (обов'язково) - має бути calendar.
- name (обов'язково) - унікальне ім'я поля.
- label (обов'язково) (дозволяється перекладати) - описовий заголовок поля.
- default (необов'язково) – дата за налаштуванням. Має бути зазначено у тому форматі, що і аргумент формату. Ви можете поставити «NOW», щоб отримати інформацію про поточну дату або час у заданому форматі. Ви також можете використати будь-які аргументи JDate ('now +1 month', 'now +2 months +7 days +12 hours', ...).
- description (необов'язково) (дозволяється перекладати) - це текст, який буде відображатися як підказка, коли користувач наведе покажчик миші на текстове поле.
- readonly (необов'язково) - вказує, чи текстове поле доступне тільки для читання (true або false). Якщо текстове поле призначене лише для читання, дату не можна змінити, але можна вибрати та скопіювати. Значок календаря не відображатиметься.
- disabled (необов'язково) - чи відключено текстове поле (true або false). Якщо текстове поле вимкнено, дату не можна змінити, вибрати або скопіювати.
- class (необов'язково) – це ім'я класу CSS для поля форми HTML. Рекомендується використовувати стилі Bootstrap.
- format (необов'язково) - формат дати, що використовується. Це формат, який використовується PHP для вказівки форматів рядків дати (див. нижче). Якщо аргумент формату не вказано, передбачається '%Y-%m-%d' (формат дати буде «2017-05-15»). Якщо showtime true (істинна), вам потрібно буде увімкнути деякі поля часу, наприклад, '%Y-%m-%d %H:%M:%S'.
- filter (необов'язково) - часовий пояс, який використовуватиметься. Є два значення: server_utc та user_utc. Перший - часовий пояс сервера, а другий - часовий пояс користувача, налаштований у глобальній конфігурації та інформації користувача відповідно.
- translateformat (необов'язково) - якщо встановлено значення true, календар використовуватиме мовний ключ DATE_FORMAT_CALENDAR_DATE (якщо час показу істина) або DATE_FORMAT_CALENDAR_DATETIME (якщо час показу хибний) для визначення формату. Атрибут формату ігнорується. Якщо false, використовується атрибут формату (така ж поведінка, як і в попередніх версіях 3.7.0), але зауважте, що рядок формату повинен включати поля часу для запису часу. Значення за налаштуванням - false.
- showtime (необов'язково) - якщо встановлено значення true і значення translateformat дорівнює true, використовується мовний ключ DATE_FORMAT_CALENDAR_DATETIME, інакше - DATE_FORMAT_CALENDAR_DATE. (Починаючи з 3.7.0). Значення за налаштуванням - false.
- timeformat (необов'язково) – можна встановити 12 або 24 (починаючи з версії 3.7.0). Якщо встановлено значення 12, користувачеві доступний додатковий вибір між AM та PM. Цей атрибут не впливає на спосіб збереження дати та часу. Значення за налаштуванням 24.
- singleheader (необов'язково) - якщо встановлено значення false, вибір року та місяця буде встановлений на двох окремих рядках із незалежним вибором (починаючи з версії 3.7.0). Значення за налаштуванням- false.
- todaybutton (необов'язково) - якщо встановлено значення true, у нижній частині вікна вибору дати додається кнопка для вибору дати поточного дня (починаючи з версії 3.7.0). Значення за налаштуванням true.
- weeknumbers (необов'язково) - якщо встановлено значення true, ліворуч від засобу вибору дати додається стовпець для відображення номера тижня поточного року (починаючи з версії 3.7.0). Значення за налаштуванням true.
- filltable (необов'язково) - якщо встановлено значення true, дати попереднього та наступного місяця додаються вгорі та внизу поточного місяця для заповнення сітки (починаючи з 3.7.0). Значення за налаштуванням true.
- minyear (необов'язково) - встановлює ціле число зі знаком для кількості років (-10, -2, 0, 7, 12, ...), щоб визначити відносну нижню межу для вибору року. Користувач не може вибрати рік до цього ліміту (починаючи з версії 3.7.0). Якщо встановлено нуль, який є значенням за налаштуванням, жодних обмежень немає.
- maxyear (необов'язково) - встановлює ціле число зі знаком для кількості років (-10, -2, 0, 7, 12, ...), щоб визначити відносну верхню межу для вибору року. Користувач не може вибрати рік після цього ліміту (починаючи з версії 3.7.0). Якщо встановлено нуль, який є значенням за налаштуванням, жодних обмежень немає.
Приклад простого XML визначення вибору дати

<field name="mycalendar" type="calendar" default="2017-05-15" label="Select a date" description=""
class="input-small" required="true" filter="user_utc"
showtime="false" todaybutton="false" filltable="false" translateformat="true" />
Приклад розширеного XML визначення вибору дати

<field name="mycalendar" type="calendar" default="2017-05-15" label="Select a date" description=""
class="input-medium" required="true" filter="user_utc" format="%Y-%m-%d %H:%M:%S"
singleheader="true" showtime="true" timeformat="12" todaybutton="true" weeknumbers="true"
filltable="true" minyear="-3" maxyear="5" />
Атрибут format визначає формат, у якому буде збережено рядок дати. Це також формат, в якому необхідно ввести вручну дати; за винятком того, що розділовий знак ігнорується. Схема кодування, яка використовується для вказівки форматів дати, є настроюваною, визначеною для бібліотеки javascript, яка використовується в datepicker, повну інформацію про яку можна знайти, наприклад, на Github Joomla. Нижче наведено деякі з найчастіше використовуваних кодів рядків дати:
| Визначення | Опис | Приклад |
| d | День місяця, 2 цифри з провідними нулями | від 01 до 31 |
| a | Текстове представництво дня, три літери | З Пн по Нд |
| e | День місяця без нулів | від 1 до 31 |
| A | Повне текстове представлення дня тижня | З понеділка по неділю |
| w | Числове представлення дня тижня | Від 0 (неділя) до 6 (субота) |
| j | День року (починаючи з 0) | Від 001 по 366 |
| B | Повне текстове представлення місяця | З січня до грудня |
| m | Числове представлення місяця з провідними нулями | від 01 до 12 |
| b | Коротке текстове представлення місяця, три літери | З січня до грудня |
| Y | Повне числове представлення року, 4 цифри | 1999 або 2003 |
| y | Двозначне представлення року | 99 або 03 |
| P | Рядкові літери Ante Meridiem або Post Meridiem | am або pm |
| p | Прописні літери Ante Meridiem або Post Meridiem | AM або PM |
Примітка 1. Формат, у якому дати зберігаються у файлі params.ini, визначається аргументом формату. Оскільки в цьому форматі можуть бути елементи, що залежать від мови (наприклад, специфікатор '%A'), вам потрібно бути обережним, щоб не використовувати такі елементи, якщо існує ймовірність того, що інтерфейсна та внутрішня мови можуть бути різними.
Примітка 2. Тип calendar поля форми не підтримує не григоріанські календарі. Якщо вам потрібно підтримувати не григоріанські календарі, вам потрібно буде створити тип поля форми, що налаштовується, для підтримки вашого календаря.
Стандартні пов'язані фільтри
user_utc - обчислює вказане значення часу за Гринвічем відповідно до налаштувань часового поясу користувача.
Переглянути всі стандартні типи полів форми можна тут: https://d-nik.site/joomla-4/joomla-dlia-rozrobnykiv/standartni-tipi-poliv-formi
