- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
preg_match('/(\d+)-(\d+)-(\d+)/i', date('d-m-Y'), $match);
ob_start();
echo (($match[1] == 30 || $match[1] == 31)?'01':(($match[2] <= 10)?'0':'').''.(++$match[1])).'.';
echo ((!$match[2][1])?'0':'');
echo (($match[1] == 30 || $match[1] == 31)?++$match[2]:$match[2]);
echo '.'.$match[3];
$rdate = ob_get_contents();
ob_end_clean();
Досталось в наследство...
По алгоритму $rdate должна содержать текущее число следующего месяца в формате date('d.m.Y'). Мало того, что способ означивания переменной чрезвычайно необычен, код оформлен безобразно, так оно еще и не работает!
На 29.05.2012 выдает "030.6.2012"
vistefan 29.05.2012 14:41 # 0
Что-то я вас не понял...
domaster 29.05.2012 15:10 # 0
vistefan 29.05.2012 15:15 # +2
vistefan 29.05.2012 15:22 # +1
eth0 29.05.2012 19:40 # −2
2) Как я понимаю, тупо приплюсует календарный месяц (проверять лень). А тут нужно инкрементнуть номер месяца.
guest 29.05.2012 19:55 # +1
vistefan 30.05.2012 06:51 # 0
"1 month" и "+1 month" в данном случае равносильны.
В любом случае, если тупо инкрементить номер месяца, то в один прекрасный момент получится 01.13.2012, что не совсем правильно.
eth0 30.05.2012 07:27 # +1
vistefan 30.05.2012 08:02 # 0
По крайней мере на локалке тестанул - работает.
domaster 30.05.2012 09:28 # −1
$rdate = date('d.m.Y', strtotime('+1 month'));
Забыл добавить в первоначальный комментарий.
eth0 30.05.2012 13:40 # 0
Немного смутило это "текущее число следующего месяца". Для 31 марта нет 31 апреля.
vistefan 30.05.2012 17:45 # 0
domaster 29.05.2012 15:09 # −4