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

2022-08-30 22:27:04

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

法典:

断续器

<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>

菲律宾比索

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

提前致谢,

〜雷利蒂埃兹

~~~ 编辑 ~~~

固定解决方案适用于任何想知道如何完成它的人:

断续器

<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>

菲律宾比索

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

特别感谢每一个答案。


答案 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);
}
?>  

推荐