无法将日期字符串列表转换为时间戳并获取平均值

时间:2019-01-18 12:52:14

标签: php mysql timestamp strtotime

我正在尝试并且无法设法使其工作的是将以下日期字符串转换为时间戳格式,然后将此值插入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 :(得分:0)

我希望它会有所帮助。它将String日期转换为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

现在您可以在循环的帮助下找到所有这些值,并通过将总和除以值的数量来找到平均值。