将时间戳拆分为日期和时间,并将它们插入关联数组中

时间:2016-04-19 15:21:51

标签: php mysql arrays date

我想从时间戳(毫秒)中获取时间和日期,并将它们插入到关联数组中。它看起来像这样:

$array = [ $date -> $time]

现在,我可以将日期和时间分成2个sepparate数组,但我希望将它们全部放在一起,时间与相应的日期相匹配。我应该获取每个时间戳,将其拆分并将其推入阵列中,还是更好地创建2个sepparate数组然后将它们组合成一个更大的数组?关于我应该怎么做的任何想法?

进一步的信息:我从mysql表获取数据,我已经将时间戳转换为秒,所以我可以在php中操作它。我正在使用

获取日期和时间
 date('G:i', $timestamp)

 date('d-m-y', $timestamp)

3 个答案:

答案 0 :(得分:0)

为什么不将类添加到数组DateTime

$d1=new DateTime("2012-07-08 11:14:15.638276");
print_r($d1);

您可以输出格式:

echo $d1->format('Y-m-d\TH:i:s.u'); // 2011-01-01T15:03:01.012345

问候。

答案 1 :(得分:0)

假设时间戳符合unix时间戳,你可以

$date = new DateTime();

$date->setTimestamp($timestamp);

$array = [
           'date' => $date->format('d-m-Y'),
           'time' => $date->format('G:i')
         ];

调整格式以满足您的需求

答案 2 :(得分:0)

  

更多信息:我从MySQL表中获取数据,并且我已经将时间戳转换为秒数

不要这样做不仅是一种不好的做法(闰秒),而且使用DateTime进行不必要的开销,您可以使用strtotime理解的任何有效日期格式,或者使用createFromFormat提供您自己的格式和值。

一个简单的例子是:

$dateTime = new Datetime($mysqlResult['date_field']);

根据您的要求,您可以执行以下操作:

$array = [ $dateTime->format('d-m-y') => $dateTime->format('G:i') ];

我还建议使用像Carbon这样的东西来扩展PHP标准的DateTime功能。