有没有办法使用Python的标准库轻松确定(即一个函数调用)给定月份的最后一天?
如果标准库不支持,那么dateutil包是否支持此功能?
我试图用python获取上个月的日期.这是我尝试过的:
str( time.strftime('%Y') ) + str( int(time.strftime('%m'))-1 )
Run Code Online (Sandbox Code Playgroud)
然而,这种方式有两个原因:首先它在2012年2月返回20122(而不是201202),其次在1月份将返回0而不是12.
我用bash解决了这个麻烦
echo $(date -d"3 month ago" "+%G%m%d")
Run Code Online (Sandbox Code Playgroud)
我认为如果bash有一个内置的方法用于此目的,那么python,更加装备,应该提供比强制编写自己的脚本来实现这个目标更好的东西.当然,我可以这样做:
if int(time.strftime('%m')) == 1:
return '12'
else:
if int(time.strftime('%m')) < 10:
return '0'+str(time.strftime('%m')-1)
else:
return str(time.strftime('%m') -1)
Run Code Online (Sandbox Code Playgroud)
我没有测试过这段代码,我也不想再使用它(除非我找不到任何其他方式:/)
谢谢你的帮助!
我需要从任何日期开始上个月的第一天.我知道我可以使用monthdelta(datetime(2010,3,30), -1)上个月,但它不会在第一天返回.