ฉันพยายามหาวันที่ของเดือนก่อนด้วย python นี่คือสิ่งที่ฉันได้ลอง:
str( time.strftime('%Y') ) + str( int(time.strftime('%m'))-1 )
อย่างไรก็ตามวิธีนี้ไม่ดีด้วยเหตุผล 2 ประการประการแรกจะส่งคืน 20122 สำหรับเดือนกุมภาพันธ์ของปี 2012 (แทนที่จะเป็น 201202) และประการที่สองจะส่งคืน 0 แทนที่จะเป็น 12 ในเดือนมกราคม
ฉันได้แก้ไขปัญหานี้ด้วยการทุบตี
echo $(date -d"3 month ago" "+%G%m%d")
ฉันคิดว่าถ้า 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)
ฉันไม่ได้ทดสอบรหัสนี้และฉันไม่ต้องการใช้มันต่อไป (เว้นแต่ฉันจะหาวิธีอื่นไม่ได้: /)
ขอบคุณสำหรับความช่วยเหลือของคุณ!