Can Firebird 4 convert an epoch to a datetime taking timezone into account?
Example:
Time zone is CET (+01:00).
SELECT
EPOCH,
SUBSTRING(CAST(DATEADD(SECOND,CAST(EPOCH AS BIGINT),TIMESTAMP '1970-01-01 00:00:00') AS VARCHAR(24)) FROM 1 FOR 19) AS DATETIME
FROM unix_epoch
Outputs
| EPOCH | DATETIME |
|---|---|
| 86400 | 1970-01-02 00:00:00 |
The required output
| EPOCH | DATETIME |
|---|---|
| 86400 | 1970-01-02 01:00:00 |
You've used too much casts, everything is simpler:
Using timezone name:
Output: