Php'de bir unix zaman damgasına 24 saati nasıl eklerim?


119

Şimdilik zaman damgasına 24 saat eklemek istiyorum. Şimdilik zaman damgasına ekleyebilmek için 24 saatlik unix zaman damgası numarasını nasıl bulabilirim?

Mevcut zaman damgasına 48 saat veya birden çok günü nasıl ekleyeceğimi de bilmek istiyorum.

Bunu en iyi nasıl yapabilirim?


"48 saat veya birden çok gün nasıl eklenir" - gün ışığından yararlanma saatleri bir sorun mu?
VolkerK

1
Álvaro G.Vicario'nun cevabına dikkat çekmek isterim. Düz 24 saat eklemek, her durumda istediğiniz şey olmayabilir.
Boldewyn

1
Yepp, bu yüzden Zeckdude'un dst'nin farkında olup olmadığını ve onun için bir endişe kaynağı olup olmadığını öğrenmek istedim.
VolkerK

Yanıtlar:


301

Muhtemelen 24 saat yerine bir gün eklemek istersiniz. Gün ışığından yararlanma saati (diğer koşulların yanı sıra) nedeniyle her gün 24 saat olmayabilir:

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

6
Daha önceki soruların tüm diğer kodları ertesi pazar sabahı kırıldığı için durum o kadar da belirsiz değil. +1
Boldewyn

Kodum, bu durum nedeniyle Mart'ın 32 günü olduğunu düşünüyordu, bu nedenle yalnızca GMT'de çalışmadığınız sürece DST'yi aklınızda bulundurmanız akıllıca olacaktır.
nullability

86

Bir Unix zaman damgası, yalnızca Ocak 1970'ten bu yana geçen saniye sayısıdır, bu nedenle bir Unix zaman damgasına 24 saat eklemek için 24 saat içindeki saniye sayısını ekleriz. (24 * 60 * 60)

time() + 24*60*60;

53
24 * 60 * 60 = 86400 (birisine birkaç saniye kazandırabilir)
Andrew


16

Unix zaman damgası saniye cinsindendir, bu nedenle zaman damgasına karşılık gelen saniye sayısını eklemeniz yeterlidir:

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

14

DateTime sınıfını da kullanabilirsiniz :

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

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

Bir ekleme P dönemdedir 1 D Ay:

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

Daha fazla ayrıntı için DateInterval bakın.


0

Söylediğiniz gibi, şu an için zaman damgasına 24 saat eklemek istiyorsanız, şunları yapabilirsiniz:

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

Yukarıdaki kod, mevcut zaman damganıza 1 gün veya 24 saat ekleyecektir.

yerine +1 dayalabilir size ne istersen gibi, php manuel diyor strtotime herhangi İngiliz bir Unix zaman damgası içine tarih saat açıklamasına metinsel hakkında Ayrıştırma edebilirsiniz .

Kılavuzdan örnekler aşağıdaki gibidir:

<?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)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.