2016-03-06 1 views
0

je gère un pi de framboise et mon script stocke une date dans un fichier txt, au format ISO comme: 2016-12-31date de reformatage dans la chaîne dans le script CGI

Mais je tiens à TRANSFOR cette date (à partir d'un formulaire HTML) et le stocker comme suit: 31-12-2016 (% d-% n-% Y)

Comment puis-je faire cela, je ne peux pas obtenir la fonction strftime au travail, désolé pour le nubisme.

+1

Vous devez montrer la partie de votre script CGI qui traite de la date d'arrivée. Vous devez probablement analyser la date entrante avec 'strptime()' dans un objet 'datetime', puis le formater avec' datetime.strftime() 'et l'écrire dans votre fichier. – mhawke

+0

Ok le script est un peu brouillon, mais avec cette ligne, j'attrape le var du formulaire HTML: datevar1 = form.getfirst ("datestop"). Upper() Et avec cette ligne je l'écris dans le fichier: fileoutputvar = lightonvar + '\ n' + datevar + '\ n' – Lemon

+0

Pour être honnête, je n'ai pas les compétences de ce langage de programmation pour utiliser des "objets". Pourriez-vous m'aider et asume cette var est nommé "datevar", après l'avoir récupéré du formulaire? – Lemon

Répondre

0

En supposant que datevar1 est attribué la chaîne '2016-12-31' de votre formulaire, vous pouvez utiliser le module datetime pour analyser et reformater la date:

from datetime import datetime 

dt = datetime.strptime(datevar1, '%Y-%m-%d') 
datevar = dt.strftime('%d-%m-%Y') 

Ou en une ligne:

datevar = datetime.strptime(datevar1, '%Y-%m-%d').strftime('%d-%m-%Y') 
+0

Génial !! Ça a marché! Et m'a aidé à trouver un autre bug! Merci beaucoup m8 – Lemon

+0

@Lemon: pas de soucis. Maintenant que le problème est résolu, vous pourriez envisager de marquer cette réponse comme acceptée :) – mhawke