我想发送提醒电子邮件。我不想在Linux / Unix / BSD框上使用cron
或在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;
答案 0 :(得分:40)
要从当前时间减去15分钟,您可以使用strtotime()
:
$newTime = strtotime('-15 minutes');
echo date('Y-m-d H:i:s', $newTime);
答案 1 :(得分:36)
将日期更改为时间戳(以秒为单位),然后减去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);
答案 2 :(得分:35)
您可以使用DateInterval
$date = new DateTime();
$interval = new DateInterval("PT15M");
$interval->invert = 1;
$date->add($interval);
echo $date->format("c") . "\n";
答案 3 :(得分:14)
你也可以试试这个,
$dateTimeMinutesAgo = new DateTime("15 minutes ago");
$dateTimeMinutesAgo = $dateTimeMinutesAgo->format("Y-m-d H:i:s");
答案 4 :(得分:6)
如何在转换之前从时间()中减去15分钟?
$time = time() - (15 * 60);
然后在代码中使用$ time而不是time()。
答案 5 :(得分:3)
$currentTime = date('Y-m-d H:i:s');
$before15mins = strtotime('-15 minutes');
echo date('Y-m-d H:i:s', $before15mins);
答案 6 :(得分:3)
以下是您可以将天/小时/分钟/秒添加到当前时间的方式
$addInterval = date('Y-m-d H:i:s', strtotime("+$days days $hours hours $minute minute $sec second", strtotime(currentTime)));
答案 7 :(得分:2)
尝试使用
$min = time() - 900; //900 seconds = 15 minutes
答案 8 :(得分:1)
回显日期('Y-m-d H:i:s',strtotime('-15分钟'));
答案 9 :(得分:0)
您还可以使用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');?>
答案 10 :(得分:0)
要减去15分钟,您可以执行以下操作:
date('Y-m-d H:i:s', (time() - 60 * 15));
您可以用所需的分钟数代替15。
如果您希望减去秒数,则只需执行以下操作:
date('Y-m-d H:i:s', (time() - 10));
这样,您将减去10秒。
答案 11 :(得分:-1)
//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;