IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQLite Discussion :

Problème de format de date avec une base SQLite venant d'Android


Sujet :

SQLite

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 508
    Par défaut Problème de format de date avec une base SQLite venant d'Android
    Bonjour
    Je récupère une table de journal des appels depuis Android.
    La commande .SCHEMA de SQLITE (version 3) dit que la table "calls" contient un champ date de type integer.
    Deux lignes (ui m'intéressent) contiennent les valeurs suivantes : 1494327384443 et 1497291364553.
    La doc SQLite dit que ces champs sont au format Unix Time qui correspond au nombre de secondes écoulées depuis le 1/1/1970.
    Premier problème ces valeurs sont environ 1000 fois supérieures au nombre de secondes calculées avec un tableur entre le 1/1/70 et aujourd'hui"
    Deuxième problème la commande "select strftime('%d %m %Y',date) from calls where <condition>" retourne des valeurs farfelues quelque soient les modifieurs (unixepoch, utc, localtime ..)
    j'ai du rater quelque chose mais quoi ?

  2. #2
    Membre émérite
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    458
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 458
    Par défaut
    Bonjour,

    Et que dit la doc de l'application qui produit ta base?

    Cordialement

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 508
    Par défaut
    Bonjour
    l'application est MyBakcup Pro qui quand on fait une sauvegarde, restitue une base sqlite contenant plusieurs tables.
    Ce fichier est destiné exclusivement à être restauré avec l'application.
    J'ai la naïveté de penser que MyBackup Pro copie simplement les bases du système d'Android sans modifier le contenu des champs.
    Donc j'espérais que quelqu'un pourrait m'en dire plus sur le format de date utilisé par l'application de téléphone d'Android, si par exemple elle exploitait un format dérogeant à Unix Time.
    Je pose la question à www.rerware.com.

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Bonjour,
    J'ai la naïveté de penser que MyBackup Pro copie simplement les bases du système d'Android sans modifier le contenu des champs.
    ce n'est pas AMHA le MyBackup Pro le coupable, mais je pense que acaumes voulait parler du programme qui écrit dans la base

    si j'en crois cette doc c'est en millisecondes

    SELECT datetime(1494327384443/1000, 'unixepoch'); donne 2017-05-09 10:56:24
    mais cela peut aussi être sous un format du style Unix mâtiné de local ça ce n'est pas indiqué
    SELECT datetime(1494327384443/1000, 'unixepoch', 'localtime'); donne 2017-05-09 12:56:24

    pour avoir aussi les millisecondes
    SELECT strftime('%Y-%m-%d %H:%M:%f', 1494327384443.0/1000.0,'unixepoch'); donne 2017-05-09 10:56:24.443

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 508
    Par défaut
    Mais oui absolument
    Ça marche
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de format de date avec copier-coller
    Par yeti66 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/03/2017, 18h31
  2. Hibernate - connexion avec une base sqlite
    Par Lebas dans le forum Hibernate
    Réponses: 0
    Dernier message: 11/10/2010, 16h15
  3. problème d'insertion des dates dans une base
    Par guy_antoine_mav dans le forum C#
    Réponses: 13
    Dernier message: 02/12/2009, 17h34
  4. Réponses: 23
    Dernier message: 26/09/2007, 12h35
  5. Problème d'affichage de date dans une base de donnée
    Par Gouyon dans le forum C++Builder
    Réponses: 7
    Dernier message: 11/04/2007, 07h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo