Bagaimana cara menambahkan 24 jam ke stempel waktu unix di php?

119

Saya ingin menambahkan 24 jam ke stempel waktu untuk saat ini. Bagaimana cara menemukan nomor stempel waktu unix selama 24 jam sehingga saya dapat menambahkannya ke stempel waktu untuk saat ini?

Saya juga ingin tahu cara menambahkan 48 jam atau beberapa hari ke stempel waktu saat ini.

Bagaimana saya bisa melakukan yang terbaik tentang melakukan ini?

zeckdude
sumber
"bagaimana cara menambahkan 48 jam atau beberapa hari" - apakah waktu musim panas menjadi masalah?
VolkerK
1
Saya ingin menunjukkan jawaban Álvaro G. Vicario. Menambahkan 24 jam biasa mungkin bukan yang Anda inginkan dalam setiap kasus.
Boldewyn
1
Ya, itulah mengapa saya ingin tahu apakah zeckdude sadar akan dst dan apakah itu menjadi perhatiannya.
VolkerK

Jawaban:

301

Anda mungkin ingin menambahkan satu hari daripada 24 jam. Tidak semua hari memiliki 24 jam karena (antara lain) waktu musim panas:

strtotime('+1 day', $timestamp);
Álvaro González
sumber
6
Kasusnya tidak begitu jelas, karena semua kode pertanyaan sebelumnya akan rusak pada Minggu pagi berikutnya. +1
Boldewyn
Kode saya mengira Maret memiliki 32 hari karena kasus ini, jadi bijaksana untuk mengingat DST kecuali Anda beroperasi hanya dalam GMT.
nullability
86

Stempel waktu Unix hanyalah jumlah detik sejak Januari 1970 pertama, jadi untuk menambahkan 24 jam ke stempel waktu Unix kita cukup menambahkan jumlah detik dalam 24 jam. (24 * 60 * 60)

time() + 24*60*60;
Yacoby
sumber
52
24 * 60 * 60 = 86400 (mungkin menghemat beberapa detik)
Andrew
20

Tambahkan 24*3600yang merupakan jumlah detik dalam 24 Jam

Soufiane Hassou
sumber
16

Stempel waktu Unix dalam hitungan detik, jadi cukup tambahkan jumlah detik yang sesuai ke stempel waktu:

$timeInFuture = time() + (60 * 60 * 24);
reko_t
sumber
14

Anda juga dapat menggunakan kelas DateTime :

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

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

Tambahkan P eriode dari 1 D ay:

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

Lihat DateInterval untuk lebih jelasnya.

SeanJA
sumber
0

Seperti yang Anda katakan jika Anda ingin menambahkan 24 jam ke stempel waktu untuk saat ini, cukup lakukan:

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

Kode di atas akan menambah 1 hari atau 24 jam ke stempel waktu Anda saat ini.

sebagai gantinya +1 dayAnda dapat mengambil apa pun yang Anda inginkan , Seperti yang dikatakan manual php strtotime dapat Parse tentang deskripsi tanggal waktu tekstual bahasa Inggris apa pun ke dalam stempel waktu Unix .

contoh dari manual adalah sebagai berikut:

<?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";
?>
Haritsinh Gohil
sumber
0
$time = date("H:i", strtotime($today . " +5 hours +30 minutes"));
//+5 hours +30 minutes     Time Zone +5:30 (Asia/Kolkata)
SARADA PRASAD BISWAL
sumber