Saya mencoba mendapatkan tanggal bulan sebelumnya dengan python. Inilah yang saya coba:
str( time.strftime('%Y') ) + str( int(time.strftime('%m'))-1 )
Namun, cara ini buruk karena 2 alasan: Pertama mengembalikan 20122 untuk Februari 2012 (bukan 201202) dan kedua akan mengembalikan 0 bukannya 12 pada Januari.
Saya telah memecahkan masalah ini di bash with
echo $(date -d"3 month ago" "+%G%m%d")
Saya pikir jika bash memiliki cara bawaan untuk tujuan ini, maka python, yang jauh lebih lengkap, harus menyediakan sesuatu yang lebih baik daripada memaksa menulis skrip sendiri untuk mencapai tujuan ini. Tentu saja saya bisa melakukan sesuatu seperti:
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)
Saya belum menguji kode ini dan toh saya tidak ingin menggunakannya (kecuali saya tidak dapat menemukan cara lain: /)
Terima kasih atas bantuan Anda!