Изменение года Конкретно в дате ()

Я хочу сделать операцию с заданной строкой даты, которая должна изменить год этой даты, скажем, на 2000. Есть ли способ совершить этот подвиг, используя PHP date ()?

$old_date = '2017-05-05';
// Needs to change 2017 to 2000.
$new_date = ?

Я знаю, что один метод включает использование strtotime ($ old_date. ‘-17 лет’), но он не применим в каждом случае, например, 2018 год, который станет 2001 годом. Есть ли альтернативное решение, позволяющее избежать жесткого кодирования количества лет для вычитания?

НОТА: Для удобства я назначаю строку даты $ old_date. Фактическая дата выбирается из таблицы.

0

Решение

Вычтите годы после тысячелетия

strtotime($old_date . ' -' . date('y', strtotime($old_date)) . 'years')
2

Другие решения

$time = strtotime($old_date);
$year = 2000;
$new_date = date("Y-m-d", mktime(0, 0, 0, date('n', $time), date('j', $time), $year));
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector