Как я могу отобразить текущее время в формате ввода HTML типа «время»?

#php #html #datetime

Вопрос:

Я попробовал это с помощью функции PHP » time ()», но я не получаю желаемого результата на интерфейсе. Вот строка кода:

         <input type="time" class="form-control" id="select-time" value="<?php echo date('h:i A',time()); ?>" name="time" required>
 

Вот что он показывает на интерфейсе:
введите описание изображения здесь

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

1. Итак, каков ваш желаемый результат на переднем конце и что вы на самом деле видите на переднем конце

2. ОБРАТИТЕ time() date('h:i A',time()); внимание, что вход не имеет значения. Если его не включить, он будет делать именно это по умолчанию

3. что вы видите и что вы хотите увидеть?

4. @RiggsFolly Я хочу, чтобы текущее время выбиралось и отображалось в поле ввода на интерфейсе сразу после загрузки страницы.

5. Это потому, что вы устанавливаете его в неправильном формате. developer.mozilla.org/en-US/docs/Web/HTML/Element/input/…

Ответ №1:

Действительная дата и время, как определено в RFC 3339, с этими дополнительными квалификациями:

буквенные буквы T и Z в синтаксисе даты/времени всегда должны быть прописными. Вместо этого производство с полной датой определяется как четыре или более цифр, представляющих число, большее 0 Примеров

1990-12-31T23:59:60Z 1996-12-19T16:39:57-08:00

Решение

Для создания формата RFC 3339 в PHP вы можете использовать:

 echo date('Y-m-dTH:i:sP', $row['Time']);
 

или по-другому:

 echo date("c", strtotime($row['Time'])); 
 

или, если вы предпочитаете объективный стиль:

 echo (new DateTime($row['Time']))->format('c');

<input type="datetime-local"  value="<?php echo date('Y-m-dTH:i:sP', $row['Time']); ?>" class="date" name="start" REQUIRED>
 

Используйте ссылки для получения дополнительной информации

https://www.php.net/manual/en/function.date.php

https://www.php.net/manual/en/class.datetime.php

Ответ №2:

Вам необходимо убедиться, что формат, в котором выводится переменная, является допустимым для ввода HTML, который вы хотите использовать. date

Если это не так (в чем, я полагаю, и заключается проблема), то вам нужно будет изменить свою date/time переменную, чтобы она печаталась в правильном формате.

На картинке это выглядит так, как будто вы просто хотите Hours:Minutes Seconds . Правильно ли это предполагать?

 <?php
//Optional if you wish to set your timezone
date_default_timezone_set('GMT');
 
// This would print the format 2021-09-07 11:04:48   
echo date("Y-m-d,h:m:s");

//You probably want to adjust it to something like this
echo date("h:m s");
?>
 

Итак, чтобы ответить на ваш вопрос: Замените свой PHP-код ( <?php echo date('h:i A',time()); ?> ) с этим, и оно должно быть в правильном формате.
<?php echo date("h:m s); ?>

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

1. Пожалуйста, отметьте это как решение, если вы обнаружите, что оно помогло, в противном случае, если у вас все еще возникают проблемы с этим, пожалуйста, оставьте комментарий с дополнительной информацией о том, что происходит не так, и я попытаюсь вам помочь. 🙂