Unix timestamp - это секунды от 1970-01-01 00:00:00 UTC
, что на самом деле 1970-01-01 01:00:00
в вашем местном часовом поясе (или часовом поясе, где расположен ваш сервер MySQL). Похоже, FROM_UNIXTIME
принимает это во внимание.
Для Oracle вы можете использовать эту функцию:
FUNCTION UnixTime2Timestamp(UnixTime IN NUMBER) RETURN TIMESTAMP IS
BEGIN
RETURN (TIMESTAMP '1970-01-01 00:00:00 UTC' + UnixTime * INTERVAL '1' SECOND) AT LOCAL;
END UnixTime2Timestamp;
Полагаю, если вы хотите узнать время UTC в MySQL, вам нужно запустить
select
CONVERT_TZ(FROM_UNIXTIME(1387444958),'{your local timezone}','UTC')
from dual;