Новые функции онлайн калькулятора

Добрый день.

Продолжаем улучшать наш конструктор веб-форм и калькуляторов, и добавлять все новые и новые функции. Сегодня хотим рассказать о новых математических функциях, которые теперь можно использовать в своих формулах для расчетов, а их накопилось немало.

На данный момент в своих расчетах можно использовать вот такие функции:

round() Возвращает число, округлённое к ближайшему целому
ceil() Округляет число до ближайшего большего целого
floor() Округляет число до ближайшего меньшего целого
roundUp() Округляет число до ближайшего числа, кратного заданному
min() Возвращает наименьшее из нескольких чисел
max() Возвращает наибольшее из нескольких чисел
medium() Возвращает среднее из нескольких чисел
today() Возвращает количество секунд от текущей даты
datetime() Возвращает количество секунд от текущей даты и времени
strlen() Возвращает количество символов в строке
pow() Возведение числа в степень
ln() Натуральный логарифм
lg() Десятичный логарифм
log() Логарифм числа по произвольному основанию
sin() Синус угла в радианах
cos() Косинус угла в радианах
tan() Тангенс угла в радианах
ctg() Котангенс угла в радианах
mod() Остаток от деления двух чисел
countYears() Возвращает количество лет от разности двух дат
countMonths() Возвращает количество месяцев от разности двух дат
countDays() Возвращает количество дней от разности двух дат
year() Извлекает год из даты
month() Извлекает месяц из даты
day() Извлекает день из даты
countRemainingDays() Возвращает количество оставшихся дней от разности двух дат
countRemainingMonths() Возвращает количество оставшихся месяцев от разности двух дат
date() Возвращает количество секунд от даты из переданных параметров (год, месяц, день)
dateValue() Возвращает суммарное число всех цифр даты

С некоторыми функциями вы уже знакомы из наших прошлых статей. Сегодня же мы хотели подробно остановиться вот на этих функциях: roundUp(), mod(), countYears(), countMonths(), countDays(), year(), month(), day(), countRemainingDays(), countRemainingMonths(), date(), dateValue().

Большинство из этих функций добавляют новые возможности при работе с датой. Но обо всем по порядку.

dateValue(date)

Данная функция возвращает суммарное число всех цифр даты. Обычно это используется в нумерологии, чтобы посчитать число даты рождения. Пример:

dateValue('1985-08-20') = 1 + 9 + 8 + 5 + 0 + 8 + 2 + 0 = 33 = 3 + 3 = 6

roundUp(a, b)

Данная функция округляет число a до ближайшего большего числа, кратного числу b. Пример:

roundUp(4, 3) = 6;
roundUp(5, 3) = 6;
roundUp(7, 3) = 9.

mod(a, b)

Данная функция возвращает остаток от деления числа a на число b. Пример:

mod(10, 3) = 1;
mod(10, 2) = 0;
mod(35, 4) = 3.

Если число b = 1, а число a дробное, то функция mod() возвращает дробную часть числа a:

mod(3.45, 1) = 0.45.

countYears(date1, date2)

Данная функция возвращает количество полных лет от разности двух дат: date1 и date2. Пример:

countYears('2022-01-25', '2020-01-25') = 2;
countYears('2022-01-25', '2020-01-26') = 1; //(не хватает одного дня для полных двух лет)
countYears('2022-01-25', '2019-06-26') = 2;

countMonths(date1, date2)

Данная функция возвращает количество полных месяцев от разности двух дат: date1 и date2. Пример:

countMonths('2022-01-25', '2021-11-25') = 2;
countMonths('2022-01-25', '2019-06-26') = 30.

countDays(date1, date2)

Данная функция возвращает количество дней от разности двух дат: date1 и date2. Пример:

countDays('2022-01-25', '2021-12-25') = 31;
countDays('2022-01-25', '2019-06-26') = 944.

year(date)

Данная функция извлекает год из даты. Пример:

year('2022-01-25') = 2022;
year('1985-11-03') = 1985.

month(date)

Данная функция извлекает месяц из даты. Пример:

month('2022-01-25') = 1;
month('1985-11-03') = 11;

day(date)

Данная функция извлекает день из даты. Пример:

day('2022-01-25') = 25;
day('1985-11-03') = 3;

countRemainingDays(date1, date2)

Данная функция возвращает количество оставшихся дней от разности двух дат, за вычетом полных лет и месяцев. Эту функцию очень удобно использовать при расчёте возраста пользователя по дате рождения. Пример:

countRemainingDays('2022-01-25','1985-08-20') = 5; 
countRemainingDays('2022-01-25','1985-08-25') = 0;
countRemainingDays('2022-01-25','1985-08-26') = 30;

countRemainingMonths(date1, date2)

Данная функция возвращает количество оставшихся месяцев от разности двух дат, за вычетом полных лет и дней. Эту функцию очень удобно использовать при расчёте возраста пользователя по дате рождения. Пример:

countRemainingMonths('2022-01-25','1985-08-20') = 5; 
countRemainingMonths('2022-01-25','1985-01-20') = 0;
countRemainingMonths('2022-01-25','1985-04-24') = 9;
countRemainingMonths('2022-01-25','1985-04-26') = 8;

date(year, month, day)

Данная функция формирует дату из переданных параметров (год, месяц, день), которую можно использовать в других функциях и расчетах (любая дата конвертируется в метку unix timestamp - количество секунд, прошедших с полуночи 1 января 1970 года).

Давайте рассмотрим несколько реальных примеров из жизни.

Сколько дней осталось до Нового года?

В качестве примера, рассчитаем, сколько дней осталось до Нового года. В этом нам помогут функции: countDays(date1, date2), today() и year().

Как вы помните, функция countDays(date1, date2) возвращает количество дней от разности двух дат. В нашем случае:

  • date1 - дата Нового года
  • date2 - текущая дата

В самом простом случае наша формула будет выглядеть вот так:

countDays(date(2022,12,31), today())

Новые функции онлайн калькулятора 1

Но это не очень удобно, так как год 2022 у нас прописан вручную и его нужно будет менять на 2023 через 1 год, чтобы все корректно считалось. Но здесь нам на помощь приходит функция year() которая извлекает год из даты. Используя эту функцию мы можем переписать нашу формулу следующим образом:

countDays(date(year(today()),12,31), today())

Новые функции онлайн калькулятора 2

Т.е. используя запись year(today()) - мы динамически получаем год из текущей даты. Точно также можно комбинировать и все остальные функции.

Сколько дней осталось до дня рождения?

Давайте рассмотрим еще один пример: пользователь в форме вводит свою дату рождения и нам нужно посчитать, сколько дней осталось до его ДР. В этом нам помогут все те же функции, которые мы рассматривали в прошлом примере, а именно countDays(date1, date2) возвращает количество дней от разности двух дат. В нашем случае:

  • date1 - здесь нам нужно сформировать дату, где день и месяц будет указан тот, который пользователь ввел в форму, а год необходимо использовать текущий. Например, если дата рождения 1985-08-20, то нам необходимо получить такую дату: 2022-08-20 и именно до этой даты нужно считать количество оставшихся дней.
  • date2 - текущая дата

Итак, наша формула может выглядеть вот так:

countDays(date(year(today()), month(поле1), day(поле1)), today())

Новые функции онлайн калькулятора 3

Где поле №1 - это поле из формы, куда пользователь вводит свою дату рождения.

Новые функции онлайн калькулятора 4

На сегодня это все. А каких функций не хватает вам, для ваших калькуляторов?

Комментарии
Готовые шаблоны веб-форм
Gold

VTR

Досмотры (VTR, view through rate) — это показатель, который используется в видеорекламе и позволяет оценить степень ее привлекательности. Метрика рассчитывается как процентное соотношение количества полных просмотров к числу показов.
$10.00
Подробнее
Gold

Какой шампунь действительно нужен вашим волосам?

Для магазинов косметики и парфюмерии, салонов красоты, тематических СМИ и блогах. Тест для выбора шампуня.
$5.00
Подробнее
Gold

Оцените работу нашей автомойки

Оцените работу нашей автомойки, узнайте оценку автомойки и пожелания клиентов Подробнее
Gold

Какой вид макияжа тебе подходит?

Квиз для самостоятельного подбора макияжа. Для посетителей магазинов косметики, салонов красоты, тематических блогов, соцстраниц, СМИ.
$6.00
Подробнее

Закажите разработку формы под ключ

Нет времени разбираться со всеми настройками самому? Не проблема!
Закажите разработку веб-формы у нас