繁体   English   中英

Python`YYYY-MM-DD`

[英]Python `YYYY-MM-DD`

在Python中,从gtk.Calendar::get_date()的输出中获取RFC 3339 YYYY-MM-DD文本的最佳方法是什么?

感谢Mark和treeface提供的解决方案,但看来我发明了一个更好的解决方案:

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

该解决方案更短,更容易理解(我认为),而且我相信它将减少将元组转换为UNIX时间的阶段,从而减少了处理。

根据docs ,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")

这可能对您有用:

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 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM