PHP сейчас + 60 дней до MYSQL DATETIME - PullRequest
3 голосов
/ 18 февраля 2012

Я изо всех сил пытаюсь получить текущую дату / время + 60 дней в PHP и сохранить его на MYSQL, в нём все нули в таблице MYSQL.

Я вынужден был сделать это прямо во вставке MYSQL в моем PHP-коде, выполнив следующее:

DATE_ADD(NOW(), INTERVAL 60 DAY)

Проблема в том, что я хочу сделать оператор if else в PHP и добавить другое количество дней к текущей дате.

Отредактировано:

Вот код PHP, который я использовал:

$ expirydate = date ("Y-m-d"); // текущая дата

$ expirydate = strtotime (date ("Y-m-d", strtotime ($ expirydate)). "+60 дней ");

Затем я вставил $ expirydate в свое поле expiry_date DATETIME в MYSQL.

Результирующее поле expiry_date равно 0000-00-00 00:00:00

Ответы [ 4 ]

3 голосов
/ 18 февраля 2012
$date = new DateTime();
$date->add(new DateInterval('P60D'));
$date->format('Y-m-d');

или

$date = new DateTime();
$date->modify('+60 days');
$date->format('Y-m-d');
2 голосов
/ 18 февраля 2012

Я использую что-то вроде этого:

$date = date ( 'Y-m-d' );
$newdate = strtotime ( '+60 days' , strtotime ( $date ) ) ;
$newdate = date ( 'Y-m-d' , $newdate );
2 голосов
/ 18 февраля 2012

Что вы пробовали в PHP?

Один из способов:

$days = 60;
$time = time() + $days * 86400;
echo date('r', $time);
1 голос
/ 18 февраля 2012

Вы должны быть более конкретным и показать больше кода PHP.Во всяком случае, не сложно добавить переменное количество дней в PHP к NOW:

$days = 6;
$now = new DateTime();
$interval = new DateInterval("P$daysD");

// Clone!!!
$dateNext = clone $now;
$dateNext->add($interval);

// Cloning is necessary if you want to use it in a loop
// because add will modify original object (thus $now)
for($i = 1; $i <= 10; $i++)
{
    $modified = clone $now;

    // Add $i days
    $modified->add(new DateInterval("P$iD"));

    // Store in database
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...