从 PHP 中的输入表单获取日期

Posted

技术标签:

【中文标题】从 PHP 中的输入表单获取日期【英文标题】:Get date from input form within PHP 【发布时间】:2015-07-26 10:47:40 【问题描述】:

我正在尝试从日期输入表单中检索日期,但无法正常工作。我现在使用的代码只返回一个错误,这个日期:1970-01-01。这是不正确的,我想知道如何解决这个问题。这将在稍后用于查询数据库表。我希望日期基本上只是一个具有这种格式的字符串:“yyyy-mm-dd”

代码:

HTML

<form name="DateFilter" method="POST">
From:
<input type="date" name="dateFrom" value="<?php echo date('Y-m-d'); ?>" />
<br/>
To:
<input type="date" name="dateTo" value="<?php echo date('Y-m-d'); ?>" />
</form>

PHP

$new_date = date('Y-m-d', strtotime($_POST['dateFrom']));
echo $new_date;

提前致谢,

~现实

~~~编辑~~~

为想知道它是如何完成的任何人提供的固定解决方案:

HTML

<form name="Filter" method="POST">
    From:
    <input type="date" name="dateFrom" value="<?php echo date('Y-m-d'); ?>" />
    <br/>
    To:
    <input type="date" name="dateTo" value="<?php echo date('Y-m-d'); ?>" />
    <input type="submit" name="submit" value="Login"/>
</form>

PHP

$new_date = date('Y-m-d', strtotime($_POST['dateFrom']));
echo $new_date;

特别感谢每一个回答。

【问题讨论】:

$_POST['dateFrom'] 返回什么? 对我来说很好,无法重现。您确定您提交了表单吗? 您的表单丢失action @Lal 如果缺少表单action,它只是将发布请求发送到当前页面。 $_POST['dateFrom'] 返回错误和 1970-01-01 【参考方案1】:

验证输入。

$time = strtotime($_POST['dateFrom']);
if ($time) 
  $new_date = date('Y-m-d', $time);
  echo $new_date;
 else 
   echo 'Invalid Date: ' . $_POST['dateFrom'];
  // fix it.

【讨论】:

【参考方案2】:
    <?php
if (isset($_POST['birthdate'])) 
    $timestamp = strtotime($_POST['birthdate']); 
    $date=date('d',$timestamp);
    $month=date('m',$timestamp);
    $year=date('Y',$timestamp);

?>  

【讨论】:

请解释你的答案。 在此脚本中发送 post 方法输入类型的日期数据。并回显您想要的任何内容,例如日期、月份、年份!你会很容易得到这个

以上是关于从 PHP 中的输入表单获取日期的主要内容,如果未能解决你的问题,请参考以下文章

如何从props传递对象获取默认日期为特定日期

如何从 html 表单中获取“日期和时间”输入并使用 Spring Boot 保存到 MySQL 数据库中?

如何从 PHP 中的日期获取日期名称?

PHP - 提交日期/时间/从foreach循环中选择输入值到$ _POST不返回任何内容

使用 PHP 提供日期,使用 SQL 获取数据

如何从 PHP 中的日期时间获取 AM/PM [重复]