|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<? function decl($n, $f){ $c = [2, 0, 1, 1, 1, 2]; return $n.' '.$f[($n % 100 > 4 && $n % 100 < 20) ? 2 : $c[min($n % 10, 5)]].' '; } function f($n, $s){ return $n > 0 ? decl($n, $s) : ''; } function diff($d, $format = "d-m-Y H:i:s"){ // 1, 2-4, 5-20... static $a = [ ["год", "года", "лет"], ["месяц", "месяца", "месяцев"], ["день", "дня", "дней"], ["час", "часа", "часов"], ["минута", "минуты", "минут"], ["секунда", "секунды", "секунд"], ]; $dt = DateTime::createFromFormat($format, $d); $now = new DateTime(); $diff = $dt->diff($now); $result = f($diff->y, $a[0]); $result .= f($diff->m, $a[1]); $result .= f($diff->d, $a[2]); $result .= f($diff->h, $a[3]); $result .= f($diff->i, $a[4]); //$result .= f($diff->s, $a[5]); return rtrim($result); } ?> <?=diff(10-12-2021 12:32:00)."<br>\r\n";?> |