Процент оставшегося налогового года - PullRequest
1 голос
/ 09 сентября 2011

Мне удалось сделать это в Excel, используя следующее (обратите внимание, что я использую формат даты дд / мм / гггг:)

Пользовательские вводы Дата, назначенная ячейке A1 01/01/2007

Расчет для определения текущего налогового года =IF(MONTH(A1)<>4,YEAR(A1)-1,IF(DAY(A1)>=6,YEAR(A1),YEAR(A1)-1)) Результатом является текущий налоговый год: год 2006

Дата налогового года начинается = =DATE(A1,4,6) результат 06/04/2006

За день доналоговый год заканчивается = =DATE(R54+1,4,5) результат 05/04/2007

Макс. число дней =ABS((R55-R56))+1 результат = 365 (используется для определения високосных годов)

Количество дней, прошедших вналоговый год =ABS(R53-R55-R57) результат = 95

Происходит процент оставшегося налогового года =(R58/R57)*100 результат равен 26.02739726

Теперь мне нужно сделать то же самое в PHP и честнопонятия не имею, с чего начать.

1 Ответ

0 голосов
/ 09 сентября 2011

Я бы использовал PHP DateTime class и метод DateTime::diff :

<?php
$tz = new DateTimeZone("UTC"); // Set to one of the supported time zones: http://www.php.net/manual/en/timezones.php
$tax_year_begin_dt = new DateTime("2006-04-06", $tz);
$tax_year_end_dt = new DateTime("2007-04-06", $tz);
$num_days_in_tax_year = $tax_year_begin_dt->diff($tax_year_end_dt)->days;
echo "\$num_days_in_tax_year = $num_days_in_tax_year<br>\n";
$dt = new DateTime("2007-01-01", $tz);
$num_days_remaining = $dt->diff($tax_year_end_dt)->days;
echo "\$num_days_remaining = $num_days_remaining<br>\n";
$percent_remaining = 100.0*$num_days_remaining/$num_days_in_tax_year;
echo "$percent_remaining%<br>\n";

Вывод этого кода:

$num_days_in_tax_year = 365
$num_days_remaining = 95
26.027397260274%

http://codepad.viper -7.com / WNxRHS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...