5

在 MySQL 中:

select UNIX_TIMESTAMP('2009-12-08 21:01:33') ;

我需要从 PHP 中获取值。

4

4 回答 4

18
echo time();

或者

echo strtotime('now');

strtotime将要:

将任何英文文本日期时间描述解析为 Unix 时间戳

所以你可以试试:

echo strtotime('2009-12-08 21:01:33');
于 2009-12-08T12:47:51.453 回答
1

strtotime()

于 2009-12-08T12:48:23.230 回答
0
mktime(21, 1, 33, 12, 8, 2009); // mktime($hours, $minutes, seconds, $month, $day, $year)

此外,mktime()函数也可用于此目的。但是,您需要提供参数,但此功能的一个优点是 - 您可以获得所需日期和时间的时间戳,而不仅仅是当前时间戳。

您还需要从值的开头删除“0”。在其他情况下,这些值将被识别为八进制。(08 => 8, 01=>1)。

于 2009-12-08T12:56:54.893 回答
0

如果您没有询问哪个是 php.ini 中等效的 UNIX_TIMESTAMP 函数。但是您问如何将 UNIX_TIMESTAMP() 返回值转换为 php DateTime 对象。然后,您可以通过在 SQL 查询返回的时间前加上“@”,然后在 DateTime 构造函数中传递它来实现。

像这样:

$tm = new DateTime('@' . $sqlrow['time']);
于 2009-12-08T14:12:07.813 回答