Информер "Сколько осталось до Нового года"

5.17K
.
как зделать чтоб когда приходит новый год Ну пишет С новы годом 2013 убиралась строка
echo '<p>До Нового года осталось <br/>';
.
вот чтоб поняли
Прикрепленные файлы:
.
Lestat (26.11.2012 / 22:32)
LYCUK, через else делай С новым Годом и До Нового Года...
вот в этом коде проывал не получается ))
$ng = strtotime('26.11.2012 00:00:00');
$res = $ng-time();
echo '<div class="menu"><p><span class="red"><b>До Нового года осталось </b></span></div>';

$d = intval($res/(3600*24));
$h = intval(($res%(3600*24))/3600);
$m = intval((($res%(3600*24))%3600)/60);
$s = (($res%(3600*24))%3600)%60;

function endoftime($s, $k) {
$v = $s;
$arr = array('sec' => array('секунд', 'секунда', 'секунды', 'секунды', 'секунды'), 'min' => array('минут', 'минута', 'минуты', 'минуты', 'минуты'), 'hor' => array('часов', 'час', 'часа', 'часа', 'часа'), 'day' => array('дней', 'день', 'дня', 'дня', 'дня'), 'mon' => array('месяцев', 'месяц', 'месяца', 'месяца', 'месяца'), 'year' => array('лет', 'год', 'года', 'года', 'года'));
if ($s>14) {
$s = substr($s, -1);
} 
if ($s>0 && $s<5) {
} else {
$s=0;
}
return $v . ' ' . $arr[$k][$s] . ' ';
}

if ($res>0) {
echo endoftime($d, 'day') . endoftime($h, 'hor') . endoftime($m, 'min') . endoftime($s, 'sec');
} else {
echo '<div class="menu"><span class="green"><b>С новым 2013 годом </b></div>';
}
echo '</p>';
.
Lestat, да спасибо помогло ))
.
Не проще так?
$toTime = strtotime('01.01.' . (date('Y') + 1) . ' 00:00:00');

$dateString = 'm м. d д. H ч. i мин. s сек.');
echo gmdate($string, ($toTime - time)));
.
Блиносвёрт ?
а чего ж сдвиги по времени никто не учитывает?
.
Блиносвёрт ?
и вобще в днях не интересно, делать уж в годах и месяцах, с учетом, что в каждом месяце может быть от 28 до 31 дня, год может быть високосный, вот это интересный скрипт...
.
(\/)____o_O____(\/)
Jane, вообще то там таймстамп, учитывается и високостность и прочее, количество секунд до даты
.
(\/)____o_O____(\/)
Jane, например если ты пишешь регу, полученные данные обрабатываешь через strtotime , то умники поставив 31 февраля получат третье марта
.
Блиносвёрт ?
Koenig, вижу в скриптах только дни, часы, минуты и секунды... месяцев нет!
Всего: 168