Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Завтра будет 31 апреля! В чём ошибка?

#1 werd_34

werd_34
  • Пользователь
  • 34 сообщений
  • Репутация: 0
0

Отправлено 30 Апрель 2013 - 12:04

Доброго времени суток, уважаемые форумчане! Помогите справиться с ошибкой!
Замечательно работает календарь, но вот сегодня выдал: Завтра будет 31 апреля!

<?php
$today = getdate();
$r_month = array('января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
echo "<h3>Завтра будет <br />",$today['mday']+1," ",$r_month[$today['mon']-1]," ",$today['year']," г.</h3>rn";
?>

Решение в принципе есть, но как в этом случае вывести название месяцев полностью?

<?php
$time = strtotime("+1 day");
$tday = date("d.m.Y", $time);
echo $tday;
?>

 

 

  • 0

#2 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 30 Апрель 2013 - 12:58

Замечательно работает календарь, но вот сегодня выдал: Завтра будет 31 апреля!

А Вы как считаете, сколько будет 30+1? :)
Как вариант, можно так:
$r_month = array(1=>'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$today = time() + 86400;
$day = date("j", $today); // день
$month = $r_month[date("n", $today)]; // месяц
$year = date("Y", $today); // год
echo "<h3>Завтра будет <br /> {$day} {$month} {$year} г.</h3>";

  • 1


#3 werd_34

werd_34
    Topic Starter
  • Пользователь
  • 34 сообщений
  • Репутация: 0

Отправлено 30 Апрель 2013 - 13:25

Большое СПАСИБО!
В результате код на вчера- сегодня- завтра получился таким:

<?php
$r_month = array(1=>'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
$today = time() + 86400;
$yeday = time() - 86400;
$yday = date("j", $yeday); // день вчера
$ymonth = $r_month[date("n", $yeday)]; // месяц вчера
$yyear = date("Y", $yeday); // год вчера
$day = date("j"); // день сегодня
$month = $r_month[date("n")]; // месяц сегодня
$year = date("Y"); // год сегодня
$tday = date("j", $today); // день завтра
$tmonth = $r_month[date("n", $today)]; // месяц завтра
$tyear = date("Y", $today); // год завтра
echo "<h3>Вчера было <br /> {$yday} {$ymonth} {$yyear} г.</h3>";
echo "<h3>Сегодня <br /> {$day} {$month} {$year} г.</h3>";
echo "<h3>Завтра будет <br /> {$tday} {$tmonth} {$tyear} г.</h3>";
?>

  • 0

#4 yury

yury
  • Пользователь
  • 629 сообщений
  • Репутация: 176

Отправлено 30 Апрель 2013 - 14:18

Как-то так можно
<?php
function r_date($time){
  $time = strtotime($time);
  $r_month = array(1=>'января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря');
  $day = date("j", $time); // день
  $month = $r_month[date("n", $time)]; // месяц
  $year = date("Y", $time); // год
  return "$day $month $year г.";
}
echo "<h3>Сегодня ",r_date("now"),"</h3>"; // или "today"
echo "<h3>Завтра ",r_date("tomorrow"),"</h3>"; // или "+1 day"
echo "<h3>Вчера ",r_date("yesterday"),"</h3>"; // или "-1 day"
echo "<h3>2 месяца и 3 дня назад было ",r_date("2 months 3 days ago"),"</h3>"; // или "-2 month -3 day"
echo "<h3>Через 1 год и 1 месяц будет ",r_date("+1 year +1 month"),"</h3>";
echo "<h3>Ближайший понедельник — ",r_date("this monday"),"</h3>";
?>
Короче, в качестве аргумента просто пишем относительную дату по-английски ну или еще проще положительное или отрицательное смещение с ключевыми словами day, month, year.
  • 1

#5 werd_34

werd_34
    Topic Starter
  • Пользователь
  • 34 сообщений
  • Репутация: 0

Отправлено 30 Апрель 2013 - 14:36

Спасибо, здОрово!
  • 0


Оформление форума – IPBSkins.ru