在 MySQL 中:
select UNIX_TIMESTAMP('2009-12-08 21:01:33') ;
我需要从 PHP 中获取值。
echo time();
或者
echo strtotime('now');
strtotime
将要:
将任何英文文本日期时间描述解析为 Unix 时间戳
所以你可以试试:
echo strtotime('2009-12-08 21:01:33');
mktime(21, 1, 33, 12, 8, 2009); // mktime($hours, $minutes, seconds, $month, $day, $year)
此外,mktime()函数也可用于此目的。但是,您需要提供参数,但此功能的一个优点是 - 您可以获得所需日期和时间的时间戳,而不仅仅是当前时间戳。
您还需要从值的开头删除“0”。在其他情况下,这些值将被识别为八进制。(08 => 8, 01=>1)。
如果您没有询问哪个是 php.ini 中等效的 UNIX_TIMESTAMP 函数。但是您问如何将 UNIX_TIMESTAMP() 返回值转换为 php DateTime 对象。然后,您可以通过在 SQL 查询返回的时间前加上“@”,然后在 DateTime 构造函数中传递它来实现。
像这样:
$tm = new DateTime('@' . $sqlrow['time']);