43

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;
4

14 に答える 14

53

現在の時刻から 15 分を減算するには、次を使用できますstrtotime()

$newTime = strtotime('-15 minutes');
echo date('Y-m-d H:i:s', $newTime);
于 2013-07-18T08:06:16.367 に答える
52

日付をタイムスタンプ (秒単位) に変更し、マイナス 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);
于 2013-07-18T08:07:08.963 に答える
41

使用できますDateInterval

$date = new DateTime();
$interval = new DateInterval("PT15M");
$interval->invert = 1;
$date->add($interval);
echo $date->format("c") . "\n";
于 2013-07-18T08:07:32.200 に答える
21

あなたもこれを試すことができます、

$dateTimeMinutesAgo = new DateTime("15 minutes ago");
$dateTimeMinutesAgo = $dateTimeMinutesAgo->format("Y-m-d H:i:s");
于 2016-02-10T19:36:39.497 に答える
8

変換する前に、time() から 15 分を差し引いてみてはどうでしょうか。

$time = time() - (15 * 60);

そして、コードで time() の代わりに $time を使用します。

于 2013-07-18T08:05:27.547 に答える
6
$currentTime = date('Y-m-d H:i:s');
$before15mins = strtotime('-15 minutes');
echo date('Y-m-d H:i:s', $before15mins);
于 2013-07-18T08:10:05.487 に答える
4

以下は、現在の時刻に日/時間/分/秒を追加する方法です

  $addInterval = date('Y-m-d H:i:s', strtotime("+$days days $hours hours $minute minute $sec second", strtotime(currentTime)));
于 2014-03-28T06:45:28.423 に答える
2

使ってみて

$min = time() - 900; //900 seconds = 15 minutes 
于 2013-07-18T08:06:33.483 に答える
0

以下よりも時間の値しかない場合は便利です

// Your time
$time = '12:15:00';

// Returned value '12:00:00'
$newTime = date('H:i:s', strtotime($time) - (15*60));
于 2021-11-09T08:41:07.217 に答える
0

この質問が時代遅れであることは知っていますが、簡単な方法でどのように行ったかを共有したいだけです

$current = new DateTime("10 minutes ago", new DateTimeZone('Asia/Manila') );

echo $current->format("Y-m-d H:i:s");
于 2021-10-15T08:26:54.360 に答える