Question

En Python, quelle est la meilleure façon d'obtenir la RFC 3339 YYYY-MM-DD texte à partir de la sortie de gtk.Calendar::get_date()?

Était-ce utile?

La solution

Merci à Mark et treeface pour les solutions, mais il semble que je l'ai inventé un meilleur:

year, month, day = cal.get_date()
return '{0:04d}-{1:02d}-{2:02d}'.format(year, month+1, day)

Cette solution est plus courte, plus facile à comprendre (à mon avis), et je crois que le traitement prend moins il découpe la scène où le tuple est converti en temps UNIX.

Autres conseils

Selon le docs , le retour de get_date un tuple de (année, mois, jour), où le mois de 0 à 11 et le jour est de 1 à 31, donc:

import datetime
dtTuple = calControl.get_date()
dtObj = datetime.datetime(dtTuple[0], dtTuple[1] + 1, dtTuple[2]) #add one to month to make it 1 to 12
print dtObj.strftime("%Y-%m-%d")

Cela peut être utile pour vous:

http://www.tutorialspoint.com/python/time_strftime.htm

Je l'ai aussi juste regardé autour de cette méthode get_date gtk et j'ai pu trouver un code qui gère comme ceci:

//here replace "self.window.get_date()" with "gtk.Calendar::get_date()"
year, month, day = self.window.get_date()
mytime = time.mktime((year, month+1, day, 0, 0, 0, 0, 0, 0))
return time.strftime("%x", time.gmtime(mytime))

Il suffit donc de remplacer "x%" avec "% G-% m-% d" et je pense que cela fonctionnerait. Ou du moins il vaut la peine d'essayer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top