Определить формат времени SQL


8

Я нашел это представление даты (и времени?) В базе данных SQLite. Я не распознаю это как нечто стандартное, например, метку времени UNIX, кто-нибудь может мне помочь идентифицировать это?

498586831.475129 или 497469155.776235

иногда, однако, это только одно число (без.).

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

Дополнительная информация: тип поля SQLite TIMESTAMP

Ответы:


10

Эти TIMESTAMPзначения, вероятно , из кода ядра Foundation Apple , основанные на эпохе 1 января 2001 00:00:00 GMT.

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

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

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: Альтернативная эпоха

Вольфрам Альфа: 498586831,475129 секунд назад

Результат:

9:43:46 вечера EDT | Воскресенье, 22 июля 2001 г.

Возможно, поле представляло секунды с 1 января 2000 года или с 1 января 2001 года.

Вариант 3: Продолжительность

Wolfram Alpha: 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.