No hay un método predeterminado dentro del propio HTML para insertar la fecha de hoy en el campo de entrada. Sin embargo, como cualquier otro campo de entrada, aceptará un valor.
Puede usar PHP para recuperar la fecha de hoy e ingresarla en el campo de valor del elemento de formulario.
<?php
// Fetch the year, month and day
$year = date(Y);
$month = date(m);
$day = date(d);
// Merge them into a string accepted by the input field
$date_string = "$year-$month-$day";
// Send to the browser the input field with the value set with the date string
echo "<input type='date' value='$date_string' />";
?>
El campo de valor acepta el formato AAAA-MM-DD como entrada, simplemente creando una variable $date_string
en el mismo formato que acepta el valor de entrada y complételo con el año, mes y día recuperados de la fecha de hoy y ¡listo! ¡Tienes una fecha preseleccionada!
Espero que esto ayude :)
Editar:
Si desea tener el campo de entrada anidado dentro de HTML en lugar de PHP, puede hacer lo siguiente.
<?php
// Fetch the year, month and day
$year = date(Y);
$month = date(m);
$day = date(d);
// Merge them into a string accepted by the input field
$date_string = "$year-$month-$day";
?>
<html>
<head>...</head>
<body>
<form>
<input type="date" value="<?php print($date_string); ?>" />
</form>
</body>
</html>
Me doy cuenta de que esta pregunta se hizo hace un tiempo (hace 2 años), pero todavía me llevó un tiempo encontrar una respuesta definitiva en Internet, por lo que sirve para cualquier persona que esté buscando la respuesta siempre que sea posible y espero que sea ayuda a todos enormemente :)
Otra edición:
Casi lo olvido, algo que ha sido un dolor real para mí en el pasado siempre se olvida de establecer la zona horaria predeterminada cada vez que crea un script en PHP que hace uso de la función date ().
La sintaxis es la siguiente date_default_timezone_set(...);
. La documentación se puede encontrar aquí en PHP.net y la lista de zonas horarias compatibles para insertar en la función se puede encontrar aquí . Esto siempre fue molesto ya que estoy en Australia, todo se retrasa 10 horas si no lo configuré correctamente, ya que por defecto es UTC + 0000 donde necesito UTC + 1000, así que tenga cuidado :)