今日Python相关练习

1、计算日期范围内的所有日期

def get_date_list(begin_date,end_date):
    date_list = []
    while begin_date <= end_date:
        date_list.append(begin_date)
        date_object = datetime.datetime.strptime(begin_date,"%Y-%m-%d")
        days_timedelta = datetime.timedelta(days=1)
        begin_date = (date_object+days_timedelta).strftime("%Y-%m-%d")

    return date_list



begin_date="2023-02-11"

end_date="2023-05-01"

date_list=get_date_list(begin_date,end_date)

print(date_list)

2、将Unix时间戳转换为日期

# 如何将Unix时间戳转换为正常日期

import datetime

unix_time=1620747647

date_obj=datetime.datetime.fromtimestamp(unix_time)

date_str=date_obj.strftime("%Y-%m-%d")

print(date_str)

3、如何利用正则表达式验证一个字符串是日期

# 如何利用正则表达式验证一个字符串是否为正确形式(YYYY-mm-dd)

import re

def pan_is_right(date):
    return re.match("\d{4}-\d{2}-\d{2}",date)

date1="2023-03-08"

date2="202-03-08"

date3="2023/03/08"

date4="20230308"

print(date1,pan_is_right(date1))
print(date2,pan_is_right(date2))
print(date3,pan_is_right(date3))
print(date4,pan_is_right(date4))

若是形式正确,就不会返回非空值None

其中,\d在正则表达式中,代表数字;

后面的括号以及里面的数字代表着连续着几位数字;

横杠直接写进去即可

看来是时候复习一下正则表达式的相关内容啦!

posted @ 2023-03-08 15:31  yesyes1  阅读(7)  评论(0编辑  收藏  举报