Вопрос

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

Это было полезно?

Решение

Благодаря Марку и Treeface для решений, но кажется, что я изобрел лучший:

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

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

Другие советы

Согласно документы, 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")

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

http://www.tutorialspoint.com/python/ime_streftime.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», и я думаю, что это будет работать. Или, по крайней мере, стоит попробовать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top