from datetime import datetime


def calculate_current_teach_week(semester_first_week_date='2021-3-08 08:00:00'):
    """
    计算当前日期所属教学周，实现思路是：当前日期所属一年中的周 - 每学期的第一周
    ----
    param: semester_first_week_date: 学期第一周的日期，例如 '2021-3-08 08:00:00'

    return: 当前教学周
    """
    # 获取指定日期属于当年的第几周, 返回字符串
    semester_first_week = datetime.strptime(semester_first_week_date, '%Y-%m-%d %H:%M:%S').strftime('%W')
    # 获取当前日期是一年中的第几周, 返回字符串
    current_year_week = datetime.now().strftime('%W')
    # 计算当前日期所属的教学周
    # ( ) 中的减一表示第一周之前的周数
    # 最后加一是因为计算周数是从索引00开始的，所以需要加1
    current_teach_week = int(current_year_week) - (int(semester_first_week) - 1) + 1

    return current_teach_week