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?


"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);

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;

52
24 * 60 * 60 = 86400 (mungkin menghemat beberapa detik)
Andrew


16

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

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

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.


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";
?>

0
$time = date("H:i", strtotime($today . " +5 hours +30 minutes"));
//+5 hours +30 minutes     Time Zone +5:30 (Asia/Kolkata)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.