Pregunta

En Python, ¿cuál es la mejor manera de obtener el RFC 3339 YYYY-MM-DD texto de la salida del gtk.Calendar::get_date()?

¿Fue útil?

Solución

Gracias a Mark y treeface para las soluciones, pero parece que he inventado uno mejor:

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

Esta solución es más corto, más fácil de entender (en mi opinión), y creo que necesita menos procesamiento ya que los cortes a cabo la etapa en la tupla se convierte en el tiempo UNIX.

Otros consejos

De acuerdo con la docs , los get_date devuelve una tupla de (año, mes, día), en el mes 0 a 11 y día es de 1 a 31, por lo que:

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")

Esto podría ser útil para usted:

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

También acabo buscó a este método GTK get_date y yo era capaz de encontrar un código que lo maneja como esta:

//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))

Así que basta con sustituir "% x" con "% G% m-% d" y yo creo que funcionaría. O por lo menos vale la pena intentarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top