Comment ajouter 24 heures à un horodatage Unix en PHP?

119

Je voudrais ajouter 24 heures à l'horodatage pour le moment. Comment trouver le numéro d'horodatage Unix pendant 24 heures pour pouvoir l'ajouter à l'horodatage pour le moment?

Je voudrais également savoir comment ajouter 48 heures ou plusieurs jours à l'horodatage actuel.

Comment puis-je faire cela au mieux?

zeckdude
la source
"Comment ajouter 48 heures ou plusieurs jours" - L'heure d'été est-elle un problème?
VolkerK
1
Je voudrais souligner la réponse d'Álvaro G. Vicario. L'ajout de 24 heures simples peut ne pas être ce que vous voulez dans tous les cas.
Boldewyn
1
Yepp, c'est pourquoi je voulais savoir si zeckdude est au courant de dst et si cela le préoccupe.
VolkerK

Réponses:

301

Vous voudrez probablement ajouter un jour plutôt que 24 heures. Tous les jours n'ont pas 24 heures en raison (entre autres) de l'heure d'été:

strtotime('+1 day', $timestamp);
Álvaro González
la source
6
L'affaire n'est pas si obscure, puisque tous les autres codes de questions précédentes sont interrompus dimanche matin prochain. +1
Boldewyn
Mon code pensait que mars avait 32 jours à cause de ce cas, il est donc sage de garder l'heure d'été à l'esprit sauf si vous opérez uniquement en GMT.
nullité
86

Un horodatage Unix est simplement le nombre de secondes depuis le premier janvier 1970, donc pour ajouter 24 heures à un horodatage Unix, nous ajoutons simplement le nombre de secondes en 24 heures. (24 * 60 * 60)

time() + 24*60*60;
Yacoby
la source
52
24 * 60 * 60 = 86400 (peut sauver quelqu'un quelques secondes)
Andrew
20

Ajouter 24*3600quel est le nombre de secondes dans 24 heures

Soufiane Hassou
la source
16

L'horodatage Unix est en secondes, alors ajoutez simplement le nombre de secondes correspondant à l'horodatage:

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

Vous pouvez également utiliser la classe DateTime :

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

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

Ajouter un P ériode de 1 D ay:

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

Voir DateInterval pour plus de détails.

SeanJA
la source
0

Comme vous l'avez dit, si vous souhaitez ajouter 24 heures à l'horodatage pour le moment, vous pouvez simplement faire:

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

Le code ci-dessus ajoutera 1 jour ou 24 heures à votre horodatage actuel.

à la place de +1 dayvous, vous pouvez prendre tout ce que vous voulez , comme le dit le manuel php , strtotime peut analyser toute description textuelle en anglais datetime dans un horodatage Unix .

Les exemples du manuel sont les suivants:

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