Python `YYYY-MM-DD`
Frage
In Python, was ist der beste Weg, das bekommen
RFC 3339 YYYY-MM-DD
Text aus der Ausgabe von gtk.Calendar::get_date()
?
Lösung
Dank Mark und treeface für die Lösungen, aber es scheint, ich habe einen besseren erfunden ein:
year, month, day = cal.get_date()
return '{0:04d}-{1:02d}-{2:02d}'.format(year, month+1, day)
Diese Lösung ist kürzer, leichter (meiner Meinung nach) zu verstehen, und ich glaube, dauert weniger Verarbeitung, da sie die Bühne schneiden, wo das Tupel in UNIX Zeit umgewandelt wird.
Andere Tipps
Nach dem docs , die get_date kehrt ein Tupel von (Jahr, Monat, Tag), in dem Monat 0-11 und Tag 1 bis 31, so:
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")
Dies könnte nützlich für Sie:
http://www.tutorialspoint.com/python/time_strftime.htm
Ich habe auch nur für diese gtk get_date Methode sah sich um und ich konnte einige Code, Griffe es wie folgt finden:
//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))
So einfach ersetzen "% x" mit "% G% m-% d" und ich denke, dass es funktionieren würde. Oder zumindest ist es einen Versuch wert.