2014-01-25 5 views
1

Я пытаюсь добавить $input в мою строку mktime $output, но он просто возвращает дату сегодня, а не дату +2 дня (например, на 2 дня вперед) по вашему желанию. Может ли кто-нибудь помочь мне с этим, пожалуйста?PHP mktime string не работает

$input = '+2'; 
$output = date('j',mktime(0,0,0,date('j'), date('d'), $input ,date('Y'))); 

Я также попытался

$input = +2; 
$output = date('j',mktime(0,0,0,date('j'), date('d'), $input ,date('Y'))); 

, но это не сработало.

Любая помощь будет очень признательна, спасибо заранее.

ответ

2

Вы можете сделать:

date('j', mktime(0, 0, 0, date('m'), date('d') + 2, date('Y'))); 

Но более простой способ, вероятно, будет (и более читаемым один):

$date = strtotime('+2 days'); 
$output = date('j', $date); 
+0

Да, спасибо, что указали, что я действительно вернулся с идеей редактирования. : D – bargoras

0

Кома перед вводом $ вступает во взаимодействие с вами. Вы должны заменить его знаком + и иметь только количество дней в вашем $ input. Например:

$input = 2; 
$output = date('j',mktime(0,0,0,date('j'), date('d') + $input,date('Y'))); 

Но есть лучшие способы сделать это (см. Другие ответы).

+0

Благодарности Ваш ответ работает! Однако по размышлению я согласен, что другой ответ - это более простой способ сделать это. – user3236271

Смежные вопросы