Визначте формат часу SQL


8

Я знайшов таке подання дати (і часу?) У базі даних SQLite. Я не визнаю це як щось стандартне, як часова мітка UNIX, чи може хтось допомогти мені визначити це?

498586831.475129 або 497469155.776235

проте іноді це лише одне число (без знака.).

Деякий контекст: я очікую, що значення буде датою (і, можливо, також часом, можливо, найближчою секундою), яка буде після 2007 року, а не в майбутньому.

Детальніше: Тип поля SQLite є TIMESTAMP

Відповіді:


10

Ці TIMESTAMPзначення, ймовірно , з коду ядра Foundation Apple , засновані на епосі 1 січня 2001 00:00:00 GMT.

Утиліти часу - Основний фонд | Документація для розробників Apple

Основний фонд вимірює час в одиницях секунд. Базовим типом даних є той CFTimeInterval, який вимірює різницю в секундах між двома разів. Фіксований час або дати визначаються CFAbsoluteTimeтипом даних, який вимірює часовий інтервал між певною датою та абсолютною базовою датою 1 січня 2001 00:00:00 GMT.

Wolfram Alpha: 1 січня 2001 р. 00:00:00 GMT + 498586831.475129 секунд
Результат: 4:20:31 GMT | Середа, 19 жовтня 2016 року

Wolfram Alpha: 1 січня 2001 00:00:00 GMT + 497469155.776235 секунд
Результат: 5:52:35 GMT | Четвер, 6 жовтня 2016 року


Попередня відповідь (все ще актуальна)

Без іншого контексту потрібно шукати конверсії, які мають сенс.

Ціла частина - це розумна кількість секунд, і десяткові знаки можуть представляти мікросекунди.

Варіант 1. Епоха UNIX

Wolfram Alpha: 498586831.475129 секунд з епохи Unix

Відповідний григоріанський час і дата:

16:20:31 UTC | Субота, 19 жовтня 1985 року

Чи розумна дата 1985 року для цього запису?

Варіант 2: Чергова епоха

Wolfram Alpha: 498586831.475129 секунд тому

Результат:

21:43:46 вечора EDT | Неділя, 22 липня 2001 року

Можливо, поле представляло секунди з 1 січня 2000 року або з 1 січня 2001 року.

Варіант 3: Тривалість

Вольфрам Альфа: 498586831.475129 секунд

Перетворення одиниць:

8.3097805245855 × 10 ^ 6 хвилин

138496.342076425 годин

5770.680919851 днів

15,799587725555 середні григоріанські роки

Чи відповідає ця кількість часу запису?

РЕДАКТИРУЙТЕ: З урахуванням ваших додаткових обставин (дату між 2007 і по теперішній час) "Варіант 2: альтернативна епоха" стає найбільш розумним, і цей запис трапляється приблизно через 15,8 років.


Це дійсно з додатка для iOS, добре помічений :)
Xaser
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.