user10237420
user10237420

Reputation:

How to get the year and week before current week?

I know current year and current week,for example current year is 2018,current week is 8.

I want to know which year and week is it 10 weeks ago,10 weeks ago is the fiftieth week of 2017.

currentYear=2018
currentWeek=8

How to get it?

Upvotes: 1

Views: 94

Answers (3)

Redz Ch
Redz Ch

Reputation: 33

after importing module import date

 import time
 from datetime import date

 currentYear=datetime.strptime("2018-8-1", "%Y-%W-%w")

representing year and week and need a random weekday day added

Upvotes: 0

U13-Forward
U13-Forward

Reputation: 71560

Best way,

Without knowing the date of 8th week of 2018,

Just creating date from week and year

here it is:

import datetime
d = "%s-W%s"%(currentYear,currentWeek)
r = datetime.datetime.strptime(d + '-0', "%Y-W%W-%w")
print(r-datetime.timedelta(weeks=10))

Output:

2017-12-17 00:00:00

Or if want in week format:

print((r-datetime.timedelta(weeks=10)).strftime('%V'))

Output:

50

Upvotes: 0

dwagnerkc
dwagnerkc

Reputation: 538

In [31]: from datetime import datetime as dt

In [32]: from datetime import timedelta

In [33]: current_date = dt(2018, 2, 20)

In [34]: current_date
Out[34]: datetime.datetime(2018, 2, 20, 0, 0)

In [35]: current_date.strftime('%V') <-- This is how we can get week of year.
Out[35]: '08'

In [36]: current_date - timedelta(weeks=10) <-- How to go back in time.
Out[36]: datetime.datetime(2017, 12, 12, 0, 0)

In [37]: ten_weeks_ago = _

In [38]: ten_weeks_ago.strftime('%V')
Out[38]: '50'

Upvotes: 1

Related Questions