Ответ 1
Измените дату на метку времени (в секундах), затем минус 15 минут (в секундах), а затем конвертируйте обратно в дату:
$date = date("Y-m-d H:i:s");
$time = strtotime($date);
$time = $time - (15 * 60);
$date = date("Y-m-d H:i:s", $time);
Я хочу отправить напоминание по электронной почте. Я не хочу использовать cron
для Linux/Unix/BSD или для запланированных задач в Windows.
Я пытаюсь вычесть 15 минут с текущего времени.
вот мой код до сих пор (не работает):
$days = date("j",time());
$months = date("n",time());
$years = date("Y",time());
$hours = date("G",time());
$mins = (date("i",time()));
$secs = date("s",time());
$mins = $mins-15;
Измените дату на метку времени (в секундах), затем минус 15 минут (в секундах), а затем конвертируйте обратно в дату:
$date = date("Y-m-d H:i:s");
$time = strtotime($date);
$time = $time - (15 * 60);
$date = date("Y-m-d H:i:s", $time);
Чтобы вычесть 15 минут с текущего времени, вы можете использовать strtotime()
:
$newTime = strtotime('-15 minutes');
echo date('Y-m-d H:i:s', $newTime);
Вы можете использовать DateInterval
$date = new DateTime();
$interval = new DateInterval("PT15M");
$interval->invert = 1;
$date->add($interval);
echo $date->format("c") . "\n";
вы также можете попробовать это,
$dateTimeMinutesAgo = new DateTime("15 minutes ago");
$dateTimeMinutesAgo = $dateTimeMinutesAgo->format("Y-m-d H:i:s");
Как насчет вычитания 15 минут с момента времени() перед его преобразованием?
$time = time() - (15 * 60);
И затем используйте вместо time() в вашем коде.
$currentTime = date('Y-m-d H:i:s');
$before15mins = strtotime('-15 minutes');
echo date('Y-m-d H:i:s', $before15mins);
Ниже приводится способ добавления дней/часов/минут/сек к текущему времени.
$addInterval = date('Y-m-d H:i:s', strtotime("+$days days $hours hours $minute minute $sec second", strtotime(currentTime)));
Попробуйте использовать
$min = time() - 900; //900 seconds = 15 minutes
Вы также можете использовать объект DateInterval
<?php
$date = new DateTime('Y-m-d H:i:s');
$date->sub(new DateInterval('PT10H30S'));
echo $date->format('Y-m-d H:i:s');?>
//To Get Current DateTime
$currentDate = date("Y-m-d H:i:s");
//To Get Current DateTime - 15Min
$oldDate = date("Y-m-d H:i:s", strtotime($currentDate) - (15 * 60));
echo $currentDate;
echo $oldDate;