Как сделать поле ввода года и вычисление количества лет до сегодняшнего дня?
29 июня 2020 в 15:54
Казалось бы, простая задача: сделать поле "Год начала практики" для пользователя и вывести "Опыт работы, лет" (сегодняшний год минус год начала практики).
Но не пойму что для этого использовать. Модуль Datetime включен. Поле типа Date создал. А где там ограничение ввода только года и диапазон вводимых лет? Неужели в 8ке нужно пользховаться костылями типа yearonly?
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Комментарии
https://stackoverflow.com/questions/15657687/twig-date-difference ?
Высчитать количество лет - это второй вопрос.
А первый - задать год в поле. И я вот не вижу, как это в 8ке сделать.
Год - это же обычное целое число? Я бы тут с полем типа дата вообще не заморачивался.
{{ "now"|date('Y') - practice_start_year }}
PS Для поля integer легко задаются минимум и максимум.
Да, но через год придется новый год задавать.
В смысле для максимального значения? Ну да, есть такое неудобство...
А для даты можно условный/расчетный максимум задать? Я там что-то не видел такого, но и не искал специально.
Допустим в настройках поля "Год начала практики" диапазон разрешенных значений от 1970 - до 2020.
В следующем году будет от 1971 - до 2021. Но те кто ввел 1970 и через год захотят отредактировать свой профиль получат ошибку.
Ничего не понимаю. Если 1970 - валидное значение, то почему "В следующем году будет от 1971"?
Если диапазон допустимых годов подчиняется каким-то хитрым правилам, то я не вижу других выходов кроме [очень нехитрого] программирования.
PS А вот кстати модулёк интересный - может подойдёт? Field Validation
Допустим максимальный предполагаемый стаж: 50 лет. И в следующем году минимальное значение поля будет изменено.
Выбор оптимального решения задачи невозможен без чётко сформулированных на старте условий.