Я должен искать некоторые данные из базы данных postgresql, используя ограничение по дате. Я собираю даты через форму HTML / PhP, используя datetime-local format
для ввода даты.
В postgresql
поле типа даты имеет значение timestamp without time zone format
, а сохраненные в нем значения даты имеют вид 2018-10-25 12:11:30
Поскольку формат собранных дат в HTML-форме отличается от даты postgresql, я не могу выполнить запрос.
Как я могу преобразовать локальный формат даты и времени HTML в формат метки времени 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());
}
?>