postgreSQL上的时间戳到unix时间戳

时间:2013-11-21 15:22:26

标签: postgresql flot unix-timestamp

我正在尝试使用FLOT图表来绘制我在PostgreSQL中存储的值。其中一个轴将有时间戳。 我将其存储在数据库中的格式为:2013-11-01 00:05:57(年 - 月 - 日时:分:秒)。

我尝试使用以下代码将此格式转换为UNIX:

$postgresql_timestamp= 2013-11-01 00:05:57;
$unix_timestamp= strtotime($postgresql_timestamp);

得到的结果1383260757对应于另一个日期:2013-10-01 23:05:5

我认为我遇到的问题与PostgreSQL上的时间戳格式有关。

2 个答案:

答案 0 :(得分:6)

PostgreSQL支持标准SQL的extract()函数,它可以将SQL时间戳转换为Unix时间戳。

select extract(epoch from timestamp '2013-11-01 00:05:57');

答案 1 :(得分:1)

由于我可以使用PHP访问数据库,因此我使用了以下代码并获得了良好的结果:

date_default_timezone_set('UTC');

$unix_timstamp = strtotime($postgreSQL_timestamp);