Delphi + SQLite et IPhone

Résolu
19hal62 Messages postés 8 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 11 octobre 2011 - 9 oct. 2011 à 18:18
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 15 oct. 2011 à 22:36
Bonjour,

Je lis une sauvegarde de mon IPhone avec SQLite, jusqu'à la tout va bien (Nom, N° Tél...), mais le champ DATE me retourne un Integer, style 1317646435, lorsque j'utilise la fonction DateTimeToStr celle-ci ne me retourne pas la date escomptée. Quelqu'un aura-t-il déjà essayé ?

Le format date SQLite ou de l'IPhone diffère-t-il de celui de Delphi ?

Merci,

Système Windows XP avec Delphi 7

4 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
10 oct. 2011 à 14:54
Voilà le lien directe pour les fonctions :

FONCTIONS SQLLITE


cantador
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
10 oct. 2011 à 14:52
Bonjour,

Le format de stockage des dates en SQLLite est :

Date and Time Datatype

SQLite does not have a storage class set aside for storing dates and/or times. Instead, the built-in Date And Time Functions of SQLite are capable of storing dates and times as TEXT, REAL, or INTEGER values:

* TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS").
* REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
* INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.


Donc, il te faut tester si : le nombre est soit :
- un total de secondes
- soit un nombre de jours

Tu disposes aussi à l'intérieur du SQL, de fonctions de conversions de date..
SQLite fonctions

A toi, de choisir la formule la plus élégante..

cantador
0
19hal62 Messages postés 8 Date d'inscription vendredi 3 janvier 2003 Statut Membre Dernière intervention 11 octobre 2011
11 oct. 2011 à 22:45
Merci pour ta réponse Cantador. Je m'en suis sortie avec la fonction DateTimeToStr et EncodeDate, le calendrier de l'IPhone commence le 01/01/1970 (Attention, aussi au 01/01/2001 pour certains champs) et non pas le 30/12/1899 comme en Delphi 7. Encore merci pour m'avoir répondu .


@ plus
FML
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
15 oct. 2011 à 22:36
Bonsoir,

Tiens, tiens, le 01/01/1970 n'évoque rien pour vous ?
Rien que cela me dit que ça sent le TimeStamp UNIX !
Delphi sait gérer les timestamp au travers des classes TTimeStamp et TSQLTimeStamp.


May Delphi be with you

Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
0
Rejoignez-nous