Can below piece of shell date format be converted to python date format?
date_used = $(date --date="$(date %Y-%m-15) - 1 month" " %Y_%m")
As per my understanding this above format is just taking day as 15 of current month and it simply subtracts 1 month and results in giving output in the format of year_month.
Output of the above shell date format -->
echo $date_used = 2022_05
Can this particular scenario be done using python?
Any update about it would be really appreciable.
CodePudding user response:
An equivalent would be:
from datetime import datetime,timedelta
# Current date, replace date with 15, subtract 30 days and format
date_used = (datetime.now().replace(day=15) - timedelta(days=30)).strftime('%Y_%m')
print(date_used)
Output:
2022_05
CodePudding user response:
You can use python's datetime
module to do this
it has a function named strptime
you can use to read date and time data with format code very similar to unix date format (or maybe its even same i'm not sure)
and strftime
to output in a certain format as well
you can see the functions and the format code to see if there's any different on https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes
Example code
from datetime import datetime, timedelta
date = datetime.strptime((datetime.now() - timedelta(days=30)).strftime("%Y-%m") "-15", "%Y-%m-%d")
print(date)
print(date.strftime("%Y_%m"))
output
2022-05-15 00:00:00
2022_05