Home > Blockchain >  Convert Shell date format to Python date format
Convert Shell date format to Python date format

Time:06-08

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
  • Related