2016-03-27 4 views
1

Итак, сегодня я хочу получить текущую дату (m-d-Y), а затем добавить 30 дней. Я бы поместил это в базу данных mySQL. Затем каждый день он скажет, сколько дней осталось, когда он близок к 14 дням.php как вычитать или добавить даты?

$today = strtotime(date('Y-m-d H:i:s')); 
$expireDay = date('m-d-Y', strtotime("+30 days")); 
$timeToEnd = $expireDay - $today; 
if ($timeToEnd <= strtotime("$expireDay - 14 days")// this is not correct syntax 
{ 
echo "less than 14 days"; 
echo $timeToEnd('d')//here is where I am having problems with my syntax 
} else { 
echo "more than 14 days"; 
} 
+0

'$ expireDay' - это строка, а не целое число. Если вы используете 'strtotime', вы можете запустить математику для получения данных. Также 'strtotime (date ('Y-m-d H: i: s'))' может быть просто 'time()'. – chris85

+0

Этот вопрос задают почти каждый второй день. http://stackoverflow.com/questions/365191/how-to-get-time-difference-in-minutes-in-php – Axalix

ответ

2

Я предполагаю, что $today только для тестирования, если это так, этот код должен работать. Ваш код пытался вычесть строку, которую вы не можете сделать. date('m-d-Y', strtotime("+30 days")); - строка даты 03-27-2016, для вычитания вам нужно целое число, которое даст strtotime.

$today = time(); 
$expireDay = strtotime("+30 days"); 
$daysleft = (($expireDay - $today)/86400); 
if ($daysleft <= 14) { 
    echo "less than 14 days"; 
    echo $daysleft; 
} else { 
    echo "more than 14 days"; 
} 
+0

Я проводил весь день на этом. Огромное спасибо! :) – DDJ

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