首页 > 解决方案 > 查询日期并在 HTML 日期输入中显示

问题描述

我有一个具有如下日期输入的 HTML 表单

<div class="col-sm" id="old">
  <label for="startDateOld">Current Start Date</label>
  <input type="date" class="form-control" id="startDateOlds" name="startDateOld" readonly value="<?php echo $startDate; ?>">
</div>

当页面加载时,它实际上是在查询startDate一个名为 .php 的 php 变量$startDate。我需要$startDate将其显示在我的日期输入字段中。但不知何故,它没有显示任何东西。

在我的 MySQL 数据库中,这个日期是timestamp. 我按照以下php方式对其进行格式化以匹配 HTMLdate输入

$startDate = date('Y/m/d', strtotime($startDate));

但不知何故,它没有加载日期值,尽管$startDate它包含YYYY/MM/DD与 HTML 日期输入格式匹配的格式值。

有谁知道为什么我不能显示日期值?

标签: phphtmlmysqldate

解决方案


HTML 日期输入需要采用YYYY-MM-DD形式,而不是YYYY/MM/DD(参见手册)。所以改变你的:

$startDate = date('Y/m/d', strtotime($startDate));

$startDate = date('Y-m-d', strtotime($startDate));

它应该可以正常工作。

HTML中的演示YYYY-MM-DDYYYY/MM/DD格式:

<div class="col-sm" id="old">
  <label for="startDateOld">Current Start Date</label>
  <input type="date" class="form-control" id="startDateOlds" name="startDateOld" readonly value="2020-01-16"><br/>
  <label for="startDateOld2">Current Start Date</label>
  <input type="date" class="form-control" id="startDateOlds" name="startDateOld2" readonly value="2020/01/16">
</div>


推荐阅读