Identifier le format d'heure SQL

8

J'ai trouvé cette représentation d'une date (et d'une heure?) Dans une base de données SQLite. Je ne le reconnais pas comme quelque chose de standard comme l'horodatage UNIX, quelqu'un peut-il m'aider à l'identifier?

498586831.475129 ou 497469155.776235

parfois cependant, ce n'est qu'un numéro (sans le.).

Un certain contexte: je m'attends à ce que la valeur soit une date (et probablement aussi une heure, probablement à la seconde près) qui est postérieure à 2007 et non à l'avenir.

Plus d'informations: Le type de champ SQLite est TIMESTAMP

Xaser
la source

Réponses:

10

Les TIMESTAMPvaleurs proviennent probablement du code Apple Core Foundation basé sur une époque du 1er janvier 2001 à 00:00:00 GMT.

Time Utilities - Core Foundation | Documentation développeur Apple

Core Foundation mesure le temps en unités de secondes. Le type de données de base est le CFTimeInterval, qui mesure la différence en secondes entre deux fois. Les heures fixes, ou dates, sont définies par le CFAbsoluteTimetype de données, qui mesure l'intervalle de temps entre une date particulière et la date de référence absolue du 1er janvier 2001 00:00:00 GMT.

Wolfram Alpha: 1er janvier 2001 00:00:00 GMT + 498586831.475129 secondes
Résultat: 4:20:31 GMT | Mercredi 19 octobre 2016

Wolfram Alpha: 1er janvier 2001 00:00:00 GMT + 497469155.776235 secondes
Résultat: 5:52:35 GMT | Jeudi 6 octobre 2016


Réponse antérieure (toujours pertinente)

Sans plus de contexte, vous devez rechercher des conversions qui ont du sens.

La partie entière est un nombre raisonnable de secondes et les décimales peuvent représenter des microsecondes.

Option 1: Époque UNIX

Wolfram Alpha: 498586831.475129 secondes depuis l'époque unix

Heure et date grégoriennes correspondantes:

16:20:31 UTC | Samedi 19 octobre 1985

Une date en 1985 est-elle raisonnable pour ce record?

Option 2: Autre époque

Wolfram Alpha: il y a 498586831.475129 secondes

Résultat:

21 h 43 min 46 s HAE | Dimanche 22 juillet 2001

Peut-être que le champ représentait des secondes depuis le 1er janvier 2000 ou le 1er janvier 2001.

Option 3: durée

Wolfram Alpha: 498586831.475129 secondes

Conversions d'unités:

8,3097805245855 × 10 ^ 6 minutes

138496.342076425 heures

5770.680919851 jours

15.799587725555 années grégoriennes moyennes

Ce temps est-il pertinent pour le dossier?

EDIT: Avec votre contexte supplémentaire (la date étant comprise entre 2007 et aujourd'hui), "Option 2: Époque alternative" devient la plus raisonnable, et ce record se produit environ 15,8 ans après.

Steven
la source
Il s'agit en effet d'une application iOS, bien repérée :)
Xaser