将数据库日期转换为unix时间戳

时间:2013-10-25 13:24:38

标签: php codeigniter foreach unix-timestamp

我从数据库中得到了一个数组:

array
(
[section] => colours
[dd] => 1
[mm] => 3
[yy] => 13
[name] => red
)
array
(
[section] => colours
[dd] => 15
[mm] => 3
[yy] => 13
[name] => green
)
array
(
[section] => colours
[dd] => 15
[mm] => 3
[yy] => 13
[name] => blue
)

现在我想将每个颜色日期(dd / mm / yy)转换为unix时间戳,以便我可以稍后将其与当前时间戳进行比较。

有什么建议吗?提前谢谢

2 个答案:

答案 0 :(得分:0)

strtotime($data['dd'].'-'.$data['mm'].'-'.$data['yy']);

答案 1 :(得分:0)

您可以使用函数strtotime,例如:

<?php

$dates = array(
    array(
        'section' => 'colours',
        'dd' => 1,
        'mm' => 3,
        'yy' => 13,
        'name' => 'red',
    ),
    array(
        'section' => 'colours',
        'dd' => 15,
        'mm' => 3,
        'yy' => 13,
        'name' => 'green',
    ),
    array(
        'section' => 'colours',
        'dd' => 15,
        'mm' => 3,
        'yy' => 13,
        'name' => 'blue',
    ),
);


for ($i = 0; $i < count($dates); $i++) {
    $dates[$i]['timestamp'] = strtotime('20' . $dates[$i]['yy'] . '-' . $dates[$i]['mm'] . '-' . $dates[$i]['dd']);
}

print_r($dates);

产生输出:

Array
(
    [0] => Array
        (
            [section] => colours
            [dd] => 1
            [mm] => 3
            [yy] => 13
            [name] => red
            [timestamp] => 1362092400
        )

    [1] => Array
        (
            [section] => colours
            [dd] => 15
            [mm] => 3
            [yy] => 13
            [name] => green
            [timestamp] => 1363302000
        )

    [2] => Array
        (
            [section] => colours
            [dd] => 15
            [mm] => 3
            [yy] => 13
            [name] => blue
            [timestamp] => 1363302000
        )

)