如何减去分钟数

use*_*185 32 php

我想发送一封提醒电子邮件.我不想cron在Linux 上使用Linux/Unix/BSD盒或计划任务.

我想从当前时间减去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;
Run Code Online (Sandbox Code Playgroud)

MrC*_*ode 44

要从当前时间减去15分钟,您可以使用strtotime():

$newTime = strtotime('-15 minutes');
echo date('Y-m-d H:i:s', $newTime);
Run Code Online (Sandbox Code Playgroud)

  • 强烈建议这个解决方案,更加优雅和富有表现力. (3认同)

Tho*_*son 43

将日期更改为时间戳(以秒为单位),然后减去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);
Run Code Online (Sandbox Code Playgroud)


Dev*_*er0 38

您可以使用 DateInterval

$date = new DateTime();
$interval = new DateInterval("PT15M");
$interval->invert = 1;
$date->add($interval);
echo $date->format("c") . "\n";
Run Code Online (Sandbox Code Playgroud)

  • 如果您将时区指定为DateTime对象的一部分,则此解决方案也会更好. (2认同)
  • 建议在[此处](/sf/answers/444577941/)创建更具可读性的`DateInterval`:`$ interval = DateInterval :: createFromDateString('-15 minutes');` (2认同)

Adi*_*asi 17

你可以尝试这个,

$dateTimeMinutesAgo = new DateTime("15 minutes ago");
$dateTimeMinutesAgo = $dateTimeMinutesAgo->format("Y-m-d H:i:s");
Run Code Online (Sandbox Code Playgroud)


eX0*_*du5 6

在转换之前从时间()减去15分钟怎么样?

$time = time() - (15 * 60);
Run Code Online (Sandbox Code Playgroud)

然后在代码中使用$ time而不是time().


zka*_*oca 6

$currentTime = date('Y-m-d H:i:s');
$before15mins = strtotime('-15 minutes');
echo date('Y-m-d H:i:s', $before15mins);
Run Code Online (Sandbox Code Playgroud)


小智 6

您还可以使用strtotime函数从当前时间减去天、小时和/或秒。

echo date('Y-m-d H:i:s', strtotime('-15 minutes'));
Run Code Online (Sandbox Code Playgroud)