繁体   English   中英

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

[英]How can I convert my date value in a unix timestamp so I can use php's date function?

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

我想将其转换为20121203的短零日和短月,例如3 DEC,但是2012年php的date函数说它需要一个unix时间戳,因此我需要先将其转换为此类。 我怎样才能做到这一点?

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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM