如何在unix时间戳中转换我的日期值,以便我可以使用php的日期函数?

时间:2012-11-28 15:06:40

标签: php

我正在以YYYYMMDD格式从数据库中检索日期。它是一个wordpress值,必须像这样存储,以便我使用wordpress执行特定的查询。

我希望将其转换为无前导零日和短月,例如虽然php的日期函数表示它需要一个unix时间戳,所以我需要将它转换为这样才能操作它。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

strtotime应该能够将该格式转换为UNIX时间戳

$date = '20120101';
echo date('j M', strtotime($date));

// output: 1 Jan

顺便说一下,这还取决于你的语言环境设置。

编辑:重要提示:如果日期不明确,则strtotime返回false!

您还可以使用mktime()函数,该函数接受小时,分钟,秒,月,日,年的整数值以生成unix时间戳:

$year = 2012;
$month = 1;
$day = 1;

$timestamp = mktime(0,0,0,$month,$day,$year);
echo date('j M', $timestamp);

// output: 1 Jan

编辑:另一种方法是从已经格式化的数据库中检索值(假设MySQL):

SELECT UNIX_TIMESTAMP(20120101)

// outputs 1325372400 (== mktime(0,0,0,1,1,2012))