我试图用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)
我没有测试过这段代码,我也不想再使用它(除非我找不到任何其他方式:/)
谢谢你的帮助!