Reputation: 353
I have: a week number a day of week a year I want to find the date from that. How to do it in Python?
e.g. 2020 week1 Saturday Expected output 01/04/2020
Upvotes: 2
Views: 833
Reputation: 353
Python 3.8 added the fromisocalendar() method, which is even more intuitive.
from datetime import datetime
dt =datetime.fromisocalendar(2020, 1, 6)
print(dt.strftime('%m/%d/%Y'))
# 01/04/2020
Upvotes: 1
Reputation: 138
Another way of doing it (Based on @MrFuppes's answer) using standard C implementation:
s = '2020 week0 Saturday'
dt = datetime.strptime(s, '%Y week%W %A')
print(dt.strftime('%m/%d/%Y'))
Bare in mind that the weekdays as well as the weeks - start in zero.
Upvotes: 0
Reputation: 25564
you can use ISO 8601 year and -week directives:
from datetime import datetime
s = '2020 week1 Saturday'
dt = datetime.strptime(s, '%G week%V %A')
print(dt.strftime('%m/%d/%Y'))
# 01/04/2020
Upvotes: 6