https://github.com/FirebirdSQL/php-firebird/blob/23aca98bfb4d313afd67f1a8c1cad18b807bc268/ibase_query.c#L1392-L1393 Change system locale and the output changes. It should always be UTC based. ```php (function() { $ts = 1762436759; // 2025-11-06 13:45:59 UTC ibase_query( "CREATE TABLE TTEST ( TS TIMESTAMP )" ); ibase_commit(); ibase_query("INSERT INTO TTEST (TS) VALUES (?)", $ts) or die("ibase_query failed"); dump_table_rows("TTEST"); dump_table_rows("TTEST", null, IBASE_UNIXTIME); })(); ``` > TZ='UTC' php script.php ```php array(1) { ["TS"]=> string(19) "2025-11-06 13:45:59" } array(1) { ["TS"]=> int(1762436759) } ``` > TZ='Europe/Riga' php script.php ```php array(1) { ["TS"]=> string(19) "2025-11-06 13:45:59" } array(1) { ["TS"]=> int(1762429559) } ``` In database these it is stored as ISC_TIMESTAMP: 60985, 495590000 which is 13:45:59 Fixing this will introduce breaking changes. Maybe put under legacy flag or something.
Activity
mlazdans commentedon May 3, 2026
Fixed with b76abda