Na podstawie Wikipedii dowiadujemy się, że w systemie operacyjnym Unix i pochodnych czas jest przedstawiany jako 32-bitowa liczba sekund, które upłynęły od godziny 00:00:00 w czwartek, 1 stycznia 1970 czyli uniwersalnego czasu koordynowanego (UTC).
Na tej podstawie można już przekonwertować znacznik czasu UNIX na typ datetime w SQL Server.
DECLARE @tmp TABLE ([TIME_GENERATED] BIGINT)
INSERT INTO @tmp
VALUES
(1592554285)
,(1592564177)
,(1592564179)
,(1683892913)
,(1683893117)
,(1686838874)
,(1686838877)
,(1686860494)
SELECT [TIME_GENERATED]
,DATEADD(S, [TIME_GENERATED], '1970-01-01') UnixTimestamp
FROM @tmp
Dostajemy następujący wynik
TIME_GENERATED UnixTimestamp
-------------------- -----------------------
1592554285 2020-06-19 08:11:25.000
1592564177 2020-06-19 10:56:17.000
1592564179 2020-06-19 10:56:19.000
1683892913 2023-05-12 12:01:53.000
1683893117 2023-05-12 12:05:17.000
1686838874 2023-06-15 14:21:14.000
1686838877 2023-06-15 14:21:17.000
1686860494 2023-06-15 20:21:34.000
Na tej podstawie można pójść dalej i konwertować czasy dla różnych stref czasowych:
SELECT *
FROM (VALUES
(1592554285)
,(1592564177)
,(1592564179)
,(1683892913)
,(1683893117)
,(1686838874)
,(1686838877)
,(1686860494)
) AS Tests(UnixTimestamp)
CROSS APPLY (SELECT DATEADD(SECOND, UnixTimestamp, '1970-01-01') AT TIME ZONE 'UTC') AS CA1(UTCDate)
CROSS APPLY (SELECT UTCDate AT TIME ZONE 'Pacific Standard Time') AS CA2([Pacific Standard Time])
CROSS APPLY (SELECT UTCDate AT TIME ZONE 'GMT Standard Time') AS CA3([GMT Standard Time])
CROSS APPLY (SELECT UTCDate AT TIME ZONE 'Central Europe Standard Time') AS CA5([Central Europe Standard Time])
W rezultacie otrzymamy
UnixTimestamp UTCDate Pacific Standard Time GMT Standard Time Central Europe Standard Time
------------- ---------------------------------- ---------------------------------- ---------------------------------- ----------------------------------
1592554285 2020-06-19 08:11:25.000 +00:00 2020-06-19 01:11:25.000 -07:00 2020-06-19 09:11:25.000 +01:00 2020-06-19 10:11:25.000 +02:00
1592564177 2020-06-19 10:56:17.000 +00:00 2020-06-19 03:56:17.000 -07:00 2020-06-19 11:56:17.000 +01:00 2020-06-19 12:56:17.000 +02:00
1592564179 2020-06-19 10:56:19.000 +00:00 2020-06-19 03:56:19.000 -07:00 2020-06-19 11:56:19.000 +01:00 2020-06-19 12:56:19.000 +02:00
1683892913 2023-05-12 12:01:53.000 +00:00 2023-05-12 05:01:53.000 -07:00 2023-05-12 13:01:53.000 +01:00 2023-05-12 14:01:53.000 +02:00
1683893117 2023-05-12 12:05:17.000 +00:00 2023-05-12 05:05:17.000 -07:00 2023-05-12 13:05:17.000 +01:00 2023-05-12 14:05:17.000 +02:00
1686838874 2023-06-15 14:21:14.000 +00:00 2023-06-15 07:21:14.000 -07:00 2023-06-15 15:21:14.000 +01:00 2023-06-15 16:21:14.000 +02:00
1686838877 2023-06-15 14:21:17.000 +00:00 2023-06-15 07:21:17.000 -07:00 2023-06-15 15:21:17.000 +01:00 2023-06-15 16:21:17.000 +02:00
1686860494 2023-06-15 20:21:34.000 +00:00 2023-06-15 13:21:34.000 -07:00 2023-06-15 21:21:34.000 +01:00 2023-06-15 22:21:34.000 +02:00