如何减去分钟数

时间:2013-07-18 08:02:53

标签: php

我想发送提醒电子邮件。我不想在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;

12 个答案:

答案 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;