Невозможно преобразовать список строк даты в метку времени и получить среднее значение - PullRequest
0 голосов
/ 18 января 2019

То, что я пытаюсь и не могу заставить его работать, - это преобразовать приведенные ниже строки даты в формат отметки времени, а затем после вставки этих значений в поле отметки времени в MySQL получить среднее время прибытия (первая запись каждого дня) и время отправления. (последняя запись каждого дня). Когда я пытаюсь использовать strtotime в месяце места, я получаю день.

11/1/2018 2:58:03 PM
11/1/2018 12:38:08 PM
11/1/2018 12:29:27 PM
11/1/2018 12:26:06 PM
11/1/2018 12:22:41 PM
11/1/2018 10:58:54 AM
10/31/2018 1:35:41 PM
10/31/2018 11:23:50 AM
10/31/2018 11:15:01 AM
10/31/2018 9:32:43 AM

Код, который я выполняю, приведен ниже для преобразования:

$file_date = '11/30/2018 7:46:06 PM';
$file_date = str_replace('/', '-', $file_date);
$file_date = substr($file_date, 0, strpos($file_date, ' ', strpos($file_date, ' ')+1));
$file_date = strtotime($file_date);
echo $file_date.' ';
echo date('Y-m-d', $file_date).' ';

Что я здесь не так делаю? Я получаю вместо правильного значения 1970-01-01

Большое спасибо заранее за ваши ответы.

1 Ответ

0 голосов
/ 18 января 2019

Надеюсь, это поможет. Он конвертирует строковую дату в объект DateTime и форматирует по вашему желанию и преобразует в метку времени.

<?php
$file_date = '11/30/2018 7:46:06 PM';
$date = new DateTime($file_date);
$result = $date->format('m-d-Y');
// result is = 11-30-2018

$datetoTimeStamp =  $date->getTimestamp();

echo $datetoTimeStamp; // OUTPUT İS 1543607166

Теперь вы можете найти все эти значения с помощью цикла и найти среднее значение, разделив сумму на количество значений.

...