2

Pythonでは、の出力からRFC 3339YYYY-MM-DDテキストを取得するための最良の方法は何 gtk.Calendar::get_date()ですか?

4

3 に答える 3

4

解決策を提供してくれたMarkとtreefaceに感謝しますが、私はもっと良いものを発明したようです。

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

このソリューションはより短く、理解しやすく(私の意見では)、タプルがUNIX時間に変換される段階を削減するため、処理が少なくて済むと思います。

于 2011-02-21T20:31:32.853 に答える
2

ドキュメントによると、get_dateは(year、month、day)のタプルを返します。ここで、月は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")
于 2010-08-16T17:08:37.023 に答える
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」に置き換えるだけで、うまくいくと思います。または、少なくとも試してみる価値はあります。

于 2010-08-16T16:55:12.697 に答える