0

我正在尝试将 postgresql 查询中的现有选择表达式转换为 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 中的转换:(注意我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
4

0 回答 0