Экспорт данных MySQL в CSV, но получение даты в формате UTC

#php #mysql

Вопрос:

Я пытаюсь экспортировать все данные из MySQL в CSV с помощью php, все работает нормально, но дата, которая возвращается, кажется, в UTC. Я пытался скрыться в IST, но это не работает.

 if(isset($_POST['from_date']) amp;amp; isset($_POST['to_date'])){
    $query = "SELECT * FROM `".$tblname."` WHERE (DATE(convert_tz(FROM_UNIXTIME(date_field),' 00:00',' 05:30')) BETWEEN '".$from_date."' and '".$to_date."') ORDER BY id ASC";
}
 

вот временная метка даты

 1632019768
 

и его возвращение 18-09-2021

Ответ №1:

Вы всегда можете выполнить преобразование с помощью php по значению:

 <?php
$timeStamp = "1632019768";
$date = gmdate("Y-m-d H:i:s", $timeStamp);
echo "Timestamp to utc: " . $date . "<br><br>";

echo "Add 5 hours and 30 mins: " .  date("Y-d-m H:i:s", strtotime($date.'  5 hours   30 min'));
 

который вернется :

 Timestamp to utc: 2021-09-19 02:49:28

Add 5 hours and 30 mins: 2021-19-09 08:19:28
 

Комментарии:

1. Эй! спасибо за ответ. можно ли преобразовать это при передаче запроса mysql? и не могли бы вы, пожалуйста, сказать мне, как я могу использовать эту функцию «strtotime» в $date = дата(«Y-m-d»,$строка[‘поле даты’]); должен ли я использовать ее в поле даты или сначала сохранить ее в переменной, а затем преобразовать ее?

2. Эй, Приятель! спасибо за вашу помощь, я понял это, реализовав то, что вы предложили .

3. $row[‘поле даты’] — это значение метки времени $в моем примере — вы включаете его в стандартную дату utc с датой gmdate, как в примере, и затем используете strtotime для преобразования его в то, что вам нужно.

4. @HemantGiri Вы можете отметить полезное, чем! 🙂 рад помочь!