добавление 30 минут к дате [закрыто]
Итак, что мне нужно сделать, это добавить 30 минут к следующему
date("Ymdhis");
Я попробовал это
+strtotime("+30 minutes");
Однако, похоже, ему это не нравится. Мне интересно, как правильно это сделать.
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));
Я протестировал этот код, но он не работает для меня:
$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
strtotime()
принимает второй параметр, который является его отправной точкой.
Если у вас есть date("Ymdhis", $somedate)
и вы хотите добавить к нему 30 минут, вы можете сделать
date("Ymdhis", strtotime("+30 minutes", $someddate))
Используйте эту функцию:
date("Ymdhis", strtotime("+30 minutes"))
Попробуйте что-нибудь вроде.
$Start = "12:00:00";
$Minutes = 30;
$To = date("H:i:s", strtotime($Start)+($Minutes*60));
Не уверен, как выглядит весь ваш код, но:
date("Ymdhis");
Возвращает строку. Поэтому нет смысла добавлять результат
strtotime("+30 minutes");
(что является целым числом) к этой строке.
Вы либо хотите
strtotime("+30 minutes");
Сам по себе или
date("Ymdhis", strtotime("+30 minutes"));
Чтобы получить форматированную строку.
Вы имеете в виду date("Ymdhis", strtotime("+30 minutes"));
? Это будет представлять дату, которая будет через 30 минут в будущем.
<?php
print date("Y-m-d h:i:s", (time() + (60*30)) );
?>