J'ai des problèmes de conception avec le stockage/extraction de date en utilisant Python et SQLite.Stockage et conversion de date SQLite
Je comprends qu'une colonne de date SQLite stocke des dates sous forme de texte au format ISO (c'est-à-dire '2010-05-25'
). Alors, quand j'afficher une date britannique (par exemple. Sur une page Web) Je convertir la date en utilisant
datetime.datetime.strptime(mydate,'%Y-%m-%d').strftime('%d/%m/%Y')
Cependant, en matière de données écriture à la table, SQLite est très pardonner et est très heureux de stocker '25/06/2003'
dans un champ de date, mais ce est pas idéal car
Je pourrais être laissé avec un mélange de formats de date dans la même colonne ,
Les fonctions de date de SQLite fonctionnent uniquement avec le format ISO.
donc je besoin de convertir la chaîne de date de retour au format ISO avant commettre, mais je aurais besoin d'une fonction générique qui vérifie les données sur le être écrites dans tous les domaines de la date et convertit ISO si nécessaire. Cela me semble un peu ennuyeux, mais c'est peut-être inévitable.
Existe-t-il des solutions plus simples? Serait-il plus facile de changer le champ de date en champ de 10 caractères et de stocker 'dd/mm/yyyy'
dans tout le tableau? De cette façon, aucune conversion n'est requise lors de la lecture ou de l'écriture à partir de la table, et je pourrais utiliser les fonctions datetime() si j'avais besoin d'effectuer une date-arithmétique.
Comment d'autres développeurs ont-ils surmonté ce problème? Toute aide serait appréciée. Pour l'anecdote, j'utilise SQLite3 avec Python 3.1.
Merci unutbu - ressemble à des objets de date sont le chemin à parcourir. Cordialement. –