我完全搞不懂PHP UTC/本地时间转换。有些函数隐式地转换时间,有些则不。啊!
比方说,我有以下PHP代码:
$timestamp = strtotime("2016-05-13 09:26:30"); //From MySQL date format
//$timestamp returned is 1463153190
如果我 1463153190到UTC时间,它就变成了05/13/2016 @ 3:26pm (UTC)。为什么?
如何获得一个函数来将时间从字符串转换为时间戳一对一,而没有任何时区恶作剧?
我把“生日”作为时间戳(整数)存储在Sphinx搜索引擎中。
(例如)
User DOB is "12-01-1960" (Age is 55)
Sphinx side: 3980298496 (MySQL handle this from DB to Sphinx)
在PHP方面,出于搜索目的,我想计算时间戳,如下所示,但它给出了负值,因为如果日期小于1970年1月1日,PHP就会给出负值
Carbon::now()->subYears('55')->timestamp = -288316800
如何制作一个积极的时间戳?这样我就可以在PHP中进行
我试图从一个来自api的时间戳中获取日期,但是它会显示错误的日期。
<?php
//its from the api also its timestamp of the today
$timestamp="1460364355000";
// but it will shows the wrong date.
echo date('Y/m/d',$timestamp);
?>
当我检查上面的时间戳时,它会显示正确的日期,但是使用php我会得到错误的日期。
我在postgres中使用了以下SQL查询:
SELECT
date_trunc('month', s.thedate),
r.rank,
COUNT(r.rank)
FROM
serps s
LEFT JOIN ranks r ON r.serpid = s.serpid
GROUP BY
date_trunc('month', s.thedate), s.thedate, r.rank
ORDER BY
s.thedate ASC;
当我直接对数据库运行该查询时,我会得到所需的所有数据,并且日期似乎是正确的