Zidentyfikuj format czasu SQL

8

Znalazłem tę reprezentację daty (i godziny?) W bazie danych SQLite. Nie rozpoznaję tego jako standardowego znacznika czasu UNIX, czy ktoś może mi pomóc go zidentyfikować?

498586831.475129 lub 497469155.776235

czasami jednak jest to tylko jedna liczba (bez.).

Trochę kontekstu: spodziewam się, że wartość będzie datą (i prawdopodobnie także czasem, prawdopodobnie do najbliższej sekundy), która jest po 2007 roku, a nie w przyszłości.

Więcej informacji: Typ pola SQLite to TIMESTAMP

Xaser
źródło

Odpowiedzi:

10

Te TIMESTAMPwartości są prawdopodobnie z kodu Jabłko Fundacji rdzeń opiera się na epoce 1 stycznia 2001 00:00:00 GMT.

Time Utilities - Podstawa podstawowa | Dokumentacja programisty Apple

Podstawa Fundacji mierzy czas w jednostkach sekund. Podstawowym typem danych jest CFTimeInterval, który mierzy różnicę w sekundach między dwa razy. Stałe czasy lub daty są określone przez CFAbsoluteTimetyp danych, który mierzy odstęp czasu między określoną datą a bezwzględną datą odniesienia 1 stycznia 2001 r. 00:00:00 GMT.

Wolfram Alpha: 1 stycznia 2001 00:00:00 GMT + 498586831.475129 sekund
Wynik: 4:20:31 GMT | Środa, 19 października 2016 r

Wolfram Alpha: 1 stycznia 2001 00:00:00 GMT + 497469155.776235 sekund
Wynik: 5:52:35 GMT | Czwartek, 6 października 2016 r


Wcześniejsza odpowiedź (nadal aktualna)

Bez większego kontekstu musisz szukać konwersji, które mają sens.

Część całkowita to rozsądna liczba sekund, a miejsca dziesiętne mogą reprezentować mikrosekundy.

Opcja 1: Epoka UNIX

Wolfram Alpha: 498586831.475129 sekund od epoki Uniksa

Odpowiednia godzina i data gregoriańska:

16:20:31 UTC | Sobota, 19 października 1985 r

Czy data z 1985 roku jest uzasadniona dla tej płyty?

Opcja 2: Alternatywna epoka

Wolfram Alpha: 498586831.475129 sekund temu

Wynik:

21:43:46 EDT | Niedziela, 22 lipca 2001 r

Być może pole reprezentowało sekundy od 1 stycznia 2000 r. Lub 1 stycznia 2001 r.

Opcja 3: Czas trwania

Wolfram Alpha: 498586831.475129 sekund

Konwersje jednostek:

8,3097805245855 × 10 ^ 6 minut

138496.342076425 godzin

5770.680919851 dni

15,799587725555 średnie lata gregoriańskie

Czy ten czas ma znaczenie dla zapisu?

EDYCJA: W twoim dodatkowym kontekście (od 2007 roku do chwili obecnej) „Opcja 2: Alternatywna epoka” staje się najbardziej rozsądna, a zapis ten pojawia się około 15,8 lat później.

Steven
źródło
To rzeczywiście pochodzi z aplikacji na iOS, dobrze zauważona :)
Xaser