zoukankan      html  css  js  c++  java
  • python 自己写的关于时间很有用的函数

    输入日期,以及频率,比如3周,6月,输出日期前3周,6月的日期

    from datetime import datetime
    from datetime import timedelta
    import calendar
    
    #输入日期,以及频率默认1周(日、周、月或者年),输出往前日、周、月、年的日期
    def get_pre_date(Date, fre = '1w'):
        end_date = datetime.strptime(Date, '%Y%m%d')
        if fre.endswith('w'):
            start_date = end_date - timedelta(int(fre[: -1]) * 7)
            start_date = start_date.strftime('%Y%m%d')
        elif fre.endswith('d'):
            start_date = end_date - timedelta(int(fre[: -1]))
            start_date = start_date.strftime('%Y%m%d')
        elif fre.endswith('m'):
            start_date_year = end_date.year - int(fre[: -1])// 12
            #余数
            remainder = int(fre[: -1])% 12
            delta_month = end_date.month - remainder        
            if delta_month <= 0:
                start_date_year -= 1
                start_date_month = 12 + remainder
            else:
                start_date_month = end_date.month - remainder
            #判断日子,通过月份来判断
            delta_day =calendar.monthrange(end_date.year, end_date.month)[1] - end_date.day
            start_date_day = calendar.monthrange(start_date_year, start_date_month)[1] - delta_day
            start_date = str(start_date_year) + str(start_date_month).zfill(2) + str(start_date_day)
        elif fre.endswith('y'):
            start_date_year = end_date.year - int(fre[: -1])
            start_date = str(start_date_year) + str(end_date.month).zfill(2) + str(end_date.day)
        else:
            print('输入:"nd", "nw", "nm", "ny",其中"n"是数字
    ')
        return start_date

    来运行一下,获取2015年8月31号前16月的具体日期

    get_pre_date('20150831', '16m')

    输出如下,是2014年4月30号

  • 相关阅读:
    Java web学习总结
    java web知识点
    SSH进阶之路
    file /etc/httpd/conf.d/php.conf from install of php-5.6.37-1.el7.remi.x86_64 conflicts with file from package mod_php71w-7.1.18-1.w7.x86_64
    centos7上安装php5.6
    centos7 删除php
    centos7删除yum安装的php
    给服务器加内存
    Hyperledger Fabric 开发环境搭建 centos7系统
    79
  • 原文地址:https://www.cnblogs.com/Mr-ZeroW/p/7873298.html
Copyright © 2011-2022 走看看