PHPのUNIXタイムスタンプに24時間を追加するにはどうすればよいですか?


119

とりあえず、タイムスタンプに24時間追加したいと思います。24時間のUNIXタイムスタンプ番号を検索して、現在のタイムスタンプに追加するにはどうすればよいですか?

また、現在のタイムスタンプに48時間または複数日を追加する方法を教えてください。

これを行うにはどうすればよいですか?


「48時間または複数日を追加する方法」-夏時間は問題ですか?
VolkerK 2010年

1
ÁlvaroG. Vicarioの答えを指摘したいと思います。単純な24時間を追加することは、すべての場合に必要なことではありません。
Boldewyn 2010年

1
イェップ、それでzeckdudeがdstを知っているかどうか、そしてそれが彼に何らかの懸念があるかどうかを知りたいと思ったのはそのためです。
VolkerK 2010年

回答:


301

おそらく、24時間ではなく1日を追加する必要があります。(他の状況の中で)夏時間のために、すべての日に24時間があるとは限りません。

strtotime('+1 day', $timestamp);

6
以前の質問の他のすべてのコードは翌日の日曜日の朝に壊れるため、ケースはそれほどあいまいではありません。+1
Boldewyn 2010年

私のコードでは、このケースのために3月には32日あると考えていたため、GMTのみで運用しているのでない限り、DSTを念頭に置いておくのが賢明です。
nullability 2013年

85

Unixタイムスタンプは、1970年1月1日からの秒数です。したがって、24時間をUnixタイムスタンプに追加するには、24時間の秒数を追加するだけです。(24 * 60 * 60)

time() + 24*60*60;

51
24 * 60 * 60 = 86400(誰かを数秒節約できるかもしれません)
Andrew


16

Unixタイムスタンプは秒単位なので、タイムスタンプに対応する秒数を追加するだけです。

$timeInFuture = time() + (60 * 60 * 24);

14

DateTimeクラスも使用できます。

$timestamp = mktime(15, 30, 00, 3, 28, 2015);

$d = new DateTime();
$d->setTimestamp($timestamp);

追加のPのeriod 1 Dの AYを:

$d->add(new DateInterval('P1D'));
echo $d->format('c');

詳細については、DateIntervalを参照してください。


0

あなたが今のところタイムスタンプに24時間を追加したいのであれば、あなたが言ったように、あなたは単に行うことができます:

 <?php echo strtotime('+1 day'); ?>

上記のコードは、現在のタイムスタンプに1日または24時間を追加します。

代わりに、+1 dayあなたの取ることができ、あなたが好きな通り、PHPのマニュアルは言うのstrtotimeは Unixタイムスタンプに任意の英語原文日時の記述について解析することができます

マニュアルの例は次のとおりです。

<?php
     echo strtotime("now"), "\n";
     echo strtotime("10 September 2000"), "\n";
     echo strtotime("+1 day"), "\n";
     echo strtotime("+1 week"), "\n";
     echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
     echo strtotime("next Thursday"), "\n";
     echo strtotime("last Monday"), "\n";
?>

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.