Как преобразовать локальный формат даты и времени в формат postgresql без формата часового пояса - PullRequest
0 голосов
/ 10 января 2019

Я должен искать некоторые данные из базы данных 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());
                }

?>
...