добавление 30 минут к дате [закрыто]


Итак, что мне нужно сделать, это добавить 30 минут к следующему

date("Ymdhis");

Я попробовал это

+strtotime("+30 minutes");

Однако, похоже, ему это не нравится. Мне интересно, как правильно это сделать.

Author: RussellHarrower, 2012-03-23

8 answers

Ваш метод использования strtotime должен работать.

<?php

echo date("Y/m/d H:i:s", strtotime("now")) . "\n";
echo date("Y/m/d H:i:s", strtotime("+30 minutes"));

?>

Выход

2012/03/22 10:55:45
2012/03/22 11:25:45 // 30 minutes later

Однако ваш метод добавления времени, вероятно, неверен. Вышесказанное поможет добавить 30 минут к текущему времени. Предположим, вы хотите добавить 30 минут от заданного времени, $t, затем используйте второй параметр strtotime, который используется в качестве основы для расчета относительных дат.

date("Y/m/d H:i:s", strtotime("+30 minutes", $t));

Http://codepad.org/Z5yquF55

 32
Author: Josh, 2017-09-27 07:34:35

Я протестировал этот код, но он не работает для меня:

 $t = date();  
 date("Y/m/d h:i:s", strtotime("+30 minutes", $t));

Вот мое решение

 //This is where you put the date, but I use the current date for this example
 $date = date("Y-m-d H:i:s");

 //Convert the variable date using strtotime and 30 minutes then format it again on the desired date format
 $add_min = date("Y-m-d H:i:s", strtotime($date . "+30 minutes"));
 echo  $date . "<br />"; //current date or whatever date you want to put in here
 echo  $add_min; //add 30 minutes
 5
Author: SuperNoob, 2012-03-23 05:38:34

strtotime() принимает второй параметр, который является его отправной точкой.

Если у вас есть date("Ymdhis", $somedate) и вы хотите добавить к нему 30 минут, вы можете сделать date("Ymdhis", strtotime("+30 minutes", $someddate))

 2
Author: staticsan, 2012-03-22 22:57:49

Используйте эту функцию:

date("Ymdhis", strtotime("+30 minutes"))
 1
Author: sikander, 2012-03-23 11:11:16

Попробуйте что-нибудь вроде.

$Start = "12:00:00";
$Minutes = 30;

$To = date("H:i:s", strtotime($Start)+($Minutes*60));
 1
Author: Adam, 2014-08-30 15:33:28

Не уверен, как выглядит весь ваш код, но:

date("Ymdhis");

Возвращает строку. Поэтому нет смысла добавлять результат

strtotime("+30 minutes");

(что является целым числом) к этой строке.

Вы либо хотите

strtotime("+30 minutes");

Сам по себе или

date("Ymdhis", strtotime("+30 minutes"));

Чтобы получить форматированную строку.

 0
Author: matt, 2012-03-22 22:56:21

Вы имеете в виду date("Ymdhis", strtotime("+30 minutes"));? Это будет представлять дату, которая будет через 30 минут в будущем.

 0
Author: mvdnes, 2012-03-22 22:57:14
<?php
print date("Y-m-d h:i:s", (time() + (60*30)) );
?>
 0
Author: Jacob S, 2012-03-22 23:05:39