将数据库查询从Postgresql转换为PHP

时间:2013-02-28 22:53:50

标签: php date datetime

我正在尝试将postgresql查询中的现有select表达式转换为PHP,但似乎缺少部分计算。

相关领域是:

task_start_timestamp > timestamp without time zone

表达式是:

SELECT justify_interval(((EXTRACT(EPOCH FROM age(localtimestamp, task_start_timestamp)) * (1 - task_progress)/COALESCE(NULLIF(task_progress, 0), 1))::int || \' seconds\')::interval) AS task_eta

我在PHP中的转换:(注意我在查询中添加了一个select localtimestamp as local_timestamp,以确保计算使用与数据库相同的值。)

$now = strtotime($item['local_timestamp']);
$task_date = strtotime($item['task_start_timestamp']);
$task_age = $now - $task_date;
$task_eta = $task_age * (1 - $item['task_progress']);

但是,服务器返回的结果不同。

local_timestamp = 2013-02-28 22:53:42.215137
task_start_timestamp = 2013-02-28 22:22:19.255593
task_eta = 00:10:28
php_task_eta = 00:07:50

0 个答案:

没有答案