ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python生成两位数日期、两位数月日

2022-01-29 22:03:37  阅读:293  来源: 互联网

标签:__ Python month 两位数 start date 数月 day ##


-

1.在开始和结束日期设置范围,这里是从大月到小月生成;

2.可以将下面"月减一和天减一",减法修改成加法 ”月加一和天加一“ 来实现小月到大月。

3.代码里将结果保存到列表中,你可以根据实际情况放到其他类型变量里。

## 开始、结束日期
date_start = '1202'
date_end = '0930'

## 全局变量
_list_month_day = []

## 判断date_start_month月有多少天,并设置date_start_month月的天数
def set_month_days(date_start_month):
    month = date_start_month
    ## 31天的月份
    month_31day = "01030507081012"
    ## 30天的月份
    month_30day = "04060911"

    ## 默认day是28天
    day = 28
    
    ## 如果 month_31day 或 month_30day 里包含 month 为真,则设置对应天数
    if month in month_31day:
        day = 31
    elif month in month_30day:
        day = 30
    
    ## 给调用者返回天数
    return day  
    
def add_month_day():
    date_start_month = date_start[0:2]
    date_start_day = date_start[2:4]
    ## 如果月的第一位是0则取第二位
    if date_start_month[:1] == "0":
        date_start_month = date_start_month[1:2]
    ## 如果日的第一位是0则取第二位
    if str(date_start_day)[:1] == "0":
        date_start_day = date_start_day[1:2]
        
    ## 循环产生月和日
    while True:
        ## 将上一次循环设置成int类型,转回str类型
        date_start_month = str(date_start_month)    
        date_start_day = str(date_start_day)
        
        ## 如果日等于1号,则月份减一,
        ##  并调用set_month_days函数,获取本月天数
        if date_start_day == "1":
            ## 月减一
            date_start_month = int(date_start_month) - 1
            date_start_day = set_month_days(str(date_start_month))
        else:
            ## 天减一
            date_start_day = int(date_start_day) - 1

        ##  month_day值:1.拼接月+日,不足两位,左补0
        ##              2.上面运算把月和日转成int型,拼接需要转str型
        month_day = "{:0>2}".format(eval(str(date_start_month))) + "{:0>2}".format(eval(str(date_start_day)))
        
        ## 将生成的月和日添加到全局变量列表中,方便其他类或方法使用
        global _list_month_day
        _list_month_day.append(month_day)
        
        ## 如果当前月日和设置的date_end相等,则退出while循环
        if date_end == month_day:
            break

if ( __name__ == 'main' or __name__ == '__main__'):
    add_month_day();
    print(f"\n结果:\n{_list_month_day}")
  
    

  

结果:

 

 

__EOF__

标签:__,Python,month,两位数,start,date,数月,day,##
来源: https://www.cnblogs.com/wutou/p/15855917.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有