According to ISO 8601, the first calendar week (1) starts with the week containing the first thursday in january.
Every year contains of 52 (53 for leap years) calendar weeks.

**Your task is** to calculate the calendar week (1-53) from a given date.
For example, the calendar week for the date `2019-01-01` (string) should be 1 (int).

Good luck 👍

See also [ISO week date](https://en.wikipedia.org/wiki/ISO_week_date) and [Week Number](https://en.wikipedia.org/wiki/Week#Week_numbering) on Wikipedia for further information about calendar weeks.

On [whatweekisit.org](http://whatweekisit.org/) you may click through the calender and study calendar weeks in more depth.

*heads-up:* `require(xxx)` has been disabled


Thanks to @ZED.CWT, @Unnamed and @proxya for their feedback.

Source: codewars | Difficulty: EASY

Starter code: def get_calendar_week(date_string):
	

Solutions:
from datetime import datetime

def get_calendar_week(date_string):
	return datetime.strptime(date_string, '%Y-%m-%d').isocalendar()[1]


from datetime import date

def get_calendar_week(s):
	return date(*map(int, s.split('-'))).isocalendar()[1]


import datetime
get_calendar_week = lambda d: datetime.date(*map(int, d.split('-'))).isocalendar()[1]


from datetime import datetime

def get_calendar_week(date_string):
	return int(datetime.strftime(datetime.strptime(date_string, '%Y-%m-%d'), '%V'))


def isLeap(y):
	return y % 400 == 0 or (y % 100 != 0 and y % 4 == 0)

def numDays(y, m, d):
	return sum([31, 29 if isLeap(y) else 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][:m - 1]) + d

def whatDay_Jan1st(y):
	y = (y - 1) % 400
	return (y // 100 * (76 * 1 + 24 * 2) + y % 100 // 4 * (1 + 1 + 1 + 2) + y % 4) % 7 + 1

def get_calendar_week(date_string):
	(y, m, d) = map(int, date_string.split('-'))
	if m == 12 and d in [29, 30, 31]:
		s = whatDay_Jan1st(y + 1)
		if s == 4 or (s == 3 and d in [30, 31]) or (s == 2 and d == 31):
			return 1
	s = whatDay_Jan1st(y)
	if m == 1 and (s == 5 and d in [1, 2, 3] or (s == 6 and d in [1, 2]) or (s == 7 and d == 1)):
		(y, m, d) = (y - 1, 12, 28)
		s = whatDay_Jan1st(y)
	dateW01_1 = [1, 0, -1, -2, 4, 3, 2][s - 1]
	return (numDays(y, m, d) - dateW01_1) // 7 + 1


import datetime

def get_calendar_week(date):
	now = datetime.datetime.strptime(date, '%Y-%m-%d')
	return datetime.datetime.isocalendar(now)[1]