2010-08-16 3 views
2

В Python, что это лучший способ, чтобы получить RFC 3339 YYYY-MM-DD текст с выхода gtk.Calendar::get_date()?Python `YYYY-MM-DD`

+0

Если ответ подходит, вы должны принять! –

+0

@ The Elite Gentleman, Manoj Govindan: Это первый случай, когда один из моих вопросов был удовлетворен моим удовлетворением. – Zaz

ответ

3

Благодаря Марку и treeface для решения, но, кажется, я придумал лучше один:

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

Это решение короче, легче понять (на мой взгляд), и я считаю, занимает меньше обработки, как это вырезает стадии, когда кортеж преобразуется в UNIX-время.

0

Это может быть полезно для вас:

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

Я также только что посмотрел вокруг этого метода GTK get_date, и я был в состоянии найти какой-то код, который обрабатывает его, как это:

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

Так что просто замените «% x» на «% G-% m-% d», и я думаю, что это сработает. Или, по крайней мере, стоит попробовать.

2

Согласно docs, то get_date возвращает кортеж (год, месяц, день), где месяц 0 до 11 дня и составляет от 1 до 31, так:

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

 Смежные вопросы

  • Нет связанных вопросов^_^