在 Python 中,从 的输出中获取
RFC 3339YYYY-MM-DD
文本的最佳方法是gtk.Calendar::get_date()
什么?
问问题
1644 次
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 返回一个元组(年、月、日),其中月 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))
所以只需用“%G-%m-%d”替换“%x”,我认为它会起作用。或者至少值得一试。
于 2010-08-16T16:55:12.697 回答