栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python时间计算 周开始第一天和结束天 通过年周计算

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python时间计算 周开始第一天和结束天 通过年周计算

```python
def year_mon_for_check(year, week):
    """通过年周获取当前月,按每周最后一天的月份比对(最后一天为周日)"""
    end_year_week = str(year) + '-' + str(week) + '-' + '0'
    end_week_result = time.strptime(end_year_week, '%Y-%W-%w')
    return int(end_week_result.tm_mon)

def get_num_week(year, week):
    """
    :param year: 哪一年
    :param week: 哪一周
    通过几几年的第几周  获取某一周的周一和周日的时间 格式例:2021-12-27    年-月-日
    一年有【0-52】周   周范围【0-6】0为周日 1-6 周一 ~ 周六
    周一为每周的第一天
    周日为每周的最后一天
    """
    start_year_week = str(year) + '-' + str(week) + '-' + '1'
    end_year_week = str(year) + '-' + str(week) + '-' + '0'
    start_week_result = time.strptime(start_year_week, '%Y-%W-%w')
    end_week_result = time.strptime(end_year_week, '%Y-%W-%w')
    start_week_date = str(start_week_result.tm_year) + '-' + str(start_week_result.tm_mon) + '-' + str(start_week_result.tm_mday)
    end_week_date = str(end_week_result.tm_year) + '-' + str(end_week_result.tm_mon) + '-' + str(end_week_result.tm_mday)
    return start_week_date, end_week_date

def get_year_week(week_time: str):
    """
    获取日期所处年,周(加不可为未来的日期)
    :param week_time: 2002-01-02格式
    """
    week_year, week_num, __ = datetime.date(*map(int, week_time.split('-'))).isocalendar()
    week_mon = int(week_time.split('-')[1])
    now_time = datetime.datetime.now() + datetime.timedelta(hours=8)
    """增加周数判断,不能创建未来周报"""
    now_year, now_week, __ = now_time.isocalendar()
    # 还要考虑跨年时的情况
    if week_num > now_week and week_year >= now_year:
        raise ValueError("无法创建此工时,不可创建未来日期的工时")
    return week_year, week_num, week_mon
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/870915.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号