добавить поле даты в поле времени в PHP

#php #date #time #addition

#php #Дата #время #добавление

Вопрос:

У меня есть форма HTML / PHP.

в форме поля даты и времени представляют собой два отдельных поля ввода.

Я хочу сложить их вместе, чтобы сформировать одно значение в PHP.

поля ввода выглядят следующим образом:

 <input type="date" id="coldate" name="coldate">
<input type="time" id="coltime" name="coltime">
  

Код, который я хочу, был бы похож на этот:

 $coldate=$_POST['coldate'];
$coltime=$_POST['coltime'];

$coldatetime=$coldate $coltime;
echo $coldatetime;
  

Как я могу отформатировать это для отображения в формате гггг / мм / дд чч: мм?

Кроме того, могу ли я сохранить это как переменную, чтобы выполнить с ним некоторую логику? например

 if (now()<$coldatetime 2hours){
}
  

Заранее благодарю.
Райан

Комментарии:

1. Можете ли вы привести пример coldate и time?

2. Привет @Mob. Пользователь будет вводить данные в форме 2011-11-07 для coldate и 10:00 для coltime. Спасибо.

Ответ №1:

Вы используете date(); и strtotime(); для форматирования даты

Пример :

 echo date('Y/m/d g:i', strtotime("2011-11-07 10:00"));
  

Выводит

 2011/11/07 10:00
  

Что касается использования as it для вычисления материала, вы можете преобразовать его в временную метку unix и работать с ней

 date('U', strtotime("2011-11-07 10:00"));
  

или

Вы делаете что-то подобное, чтобы добавить » 2 часа»

 echo date("Y/m/d g:i", strtotime(date("Y/m/d g:i", strtotime("2011-11-07 10:00")) . "  2 hours"));
  

Комментарии:

1. В моем случае это сработало, спасибо @Mob! $datetime= дата(‘Y/m/d g:i’, strtotime(«$coldate $coltime»)); эхо «дата-время есть «.$datetime; Приветствую, Райан

2. @PranavHosangadi Извини. Это опечатка. РайаНсмит, всегда пожалуйста

3. @Mob, да, я пытался отредактировать, но для этого мне нужно отредактировать как минимум 6 символов, так что….

Ответ №2:

Я предполагаю, что вы получите строку в сообщении. Также предполагается, что вы выполнили свои проверки и значения в $_POST['coldate'] и $_POST['coltime'] являются допустимыми строками даты и времени соответственно. Вы можете просто добавить строки

 $coldate=$_POST['coldate'];
$coltime=$_POST['coltime'];

$coldatetime=$coldate . ' ' . $coltime;

echo date('Y/m/d g:i', strtotime($coldatetime));
  

Это приведет к следующему:

  1. Создайте допустимую строку даты и времени (путем добавления)
  2. преобразовать строку даты и времени в временную метку ( strtotime )
  3. Форматировать как год / месяц / день, час: минута и эхо.

Ответ №3:

 $coldate=$_POST['coldate'];
$coltime=$_POST['coltime'];

$coldatetime=$coldate $coltime;
echo $coldatetime;
  

Вы можете использовать следующим образом

 $coldatetime=$coldate." ".$coltime;
echo $coldatetime;
  

Чтобы получить дату в yyyy/mm/dd hh:mm формате, используйте

 echo date('Y/m/d h:i', strtotime($coldatetime));