我正在以YYYYMMDD格式从数据库中检索日期。它是一个wordpress值,必须像这样存储,以便我使用wordpress执行特定的查询。
我希望将其转换为无前导零日和短月,例如虽然php的日期函数表示它需要一个unix时间戳,所以我需要将它转换为这样才能操作它。我怎么能这样做?
答案 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))