在Python中,获得的最好方法是RFC 3339 YYYY-MM-DD 输出的文字 gtk.Calendar::get_date()?

有帮助吗?

解决方案

感谢Mark和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/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”,我认为它会起作用。或至少值得一试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top