我必须使用日期限制从Postgresql数据库中搜索一些数据。我正在使用datetime-local format
作为日期输入字段通过HTML / PhP表单收集日期。
在postgresql
中,日期类型为timestamp without time zone format
,其中存储的日期值类似于2018-10-25 12:11:30
由于html表单收集日期的格式与postgresql日期不同,所以我无法运行查询。
如何如上所述将HTML datetime-local格式转换为postgresql时间戳格式。
以下是我的html格式的代码:
<div class="col-md-4 mb-3">
<label for="validationCustom01">Start Date</label>
<input type="datetime-local" name="start_date" id="start_date" placeholder="insert start date" value="">
</div>
<div class="col-md-4 mb-3">
<label for="validationCustom01">End Date</label>
<input type="datetime-local"name="end_date" id="end_date" placeholder="insert end date" value="">
</div>
PHP
<?php
if(isset($_POST["submit19"])){
$meas_dev_id = $_POST["meas_dev_id"];
$start_date = $_POST["start_date"];
$end_date = $_POST["end_date"];
try {
$stmt = $conn->prepare("SELECT id, date_time, value1, temperature FROM measurements where id = $meas_dev_id AND date_time >= $start_date AND date_time < $end_date LIMIT 10");
$stmt->execute();
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach(new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k=>$v) {
echo $v;
}
}
catch(PDOException $e) {
// echo "Error: " . $e->getMessage();
exit('<b>Catched exception at line '. $e->getLine() .' (code : '. $e->getCode() .') :</b> '. $e->getMessage());
}
?>