Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Функция Получение количества дней в месяце

shierru

Умник
Здравствуйте, уважаемые пользователи данного форума.
Представляю функцию расчёта дней в месяце.​

Оригинал JS:

JavaScript:
function f(x)
{
    return 28 + (x + Math.floor(x/8)) % 2 + 2 % x + 2 * Math.floor(1/x);
}
Оригинал JS(учитывания высокосного года и т.д):

JavaScript:
function f(x, y) 
{ 
    return 28 + ((x + Math.floor(x / 8)) % 2) + 2 % x + Math.floor((1 + (1 - (y % 4 + 2) % (y % 4 + 1)) * ((y % 100 + 2) % (y % 100 + 1)) + (1 - (y % 400 + 2)  % (y % 400 + 1))) / x) + Math.floor(1/x) - Math.floor(((1 - (y % 4 + 2) % (y % 4 + 1)) * ((y % 100 + 2) % (y % 100 + 1)) + (1 - (y % 400 + 2) % (y % 400 +  1)))/x);
 }
Pawn:

PHP:
stock GetAmountDayInMonth(month)
{
    return 28 + (month + floatround(month/8)) % 2 + 2 % month + 2 * floatround(1/month);
}
Pawn(учитывания высокосного года и т.д):

PHP:
stock GetAmountDay(month, year)
{
    return 28 + ((month + floatround(month / 8)) % 2) + 2 % month + floatround((1 + (1 - (year % 4 + 2) % (year % 4 + 1)) * ((year % 100 + 2) % (year % 100 + 1)) + (1 - (year % 400 + 2) % (year % 400 + 1))) / month) + floatround(1/month) - floatround(((1 - (year % 4 + 2) % (year % 4 + 1)) * ((year % 100 + 2) % (year % 100 + 1)) + (1 - (year % 400 + 2) % (year % 400 + 1)))/month);
}
Пример использования:

PHP:
new month, year;
getdate(_, month, year);
printf("#1 : %i", GetAmountDayInMonth(month));
printf("#2 : %i", GetAmountDay(month, year));
Автор: SatoruMikami​
 
Последнее редактирование модератором:
Сверху Снизу