Python编程获取当前日期的所属周日期信息

简介: Python编程获取当前日期的所属周日期信息

Python编程获取当前日期的所属周日期信息
今天继续学习Python编程,偶然看到一篇博客关于日期的操作,于是参照一下编写了一个获取当前日期所属的周的所有日期信息。本人的环境是Pycharm+macOS,程序需要的模块是datetime日期模块calendar日历模块。源码如下:

#_*_coding:utf-8_*_
# 作者      :liuxiaowei
# 创建时间   :3/12/22 11:07 AM
# 文件      :一周内的日期显示.py
# IDE      :PyCharm


# 导入日期和日历模块
import datetime
import calendar
# 定义一个字典存储星期几和对应的索引
weekDict = {
   '0':'Monday', '1': 'Tuesday', '2': 'Wednesday', '3':'Thursday', '4': 'Friday', '5': 'Saturday', '6': 'Sunday'}
# 定义一个天数字典
dayDict = {
   '1':'1st', '2':'2nd', '3':'3nd', '4':'4th', '5':'5th', '6':'6th','7':'7th'}

# 定义一个显示本周所有日期的函数
def show_currentweek_info():
    # 获取当天的日期并赋值给weekday变量
    weekday = datetime.date.today()
    # 设定一个一天为基准的变量
    one_day = datetime.timedelta(days=1)
    # for 循环是为了显示当前的日期信息
    for i in range(7):
        # 判断当前日期对应的数字
        if weekday.weekday() == i:
            # 判断对应的日期是本周的第几天
            day_number = datetime.date.isoweekday(weekday)
            print(f'\nThe current date is:{weekday}  Today is {weekDict[str(i)][:3]}  It\'s the No.{dayDict[str(day_number)]} day of this week.\n')


    # 判断周一到周日的日期
    for i in range(7):

        while weekday.weekday() != i:
            # 判断当前日期在周一到周日之前还是之后,如果在周一-周日(包括周一,周日)之前那就一天一天加
            if weekday.weekday() <= i:
                weekday += one_day
                day_number = datetime.date.isoweekday(weekday)
                # 如果在周一-到周日之后(包括周一,周日)那就一天一天减
            elif weekday.weekday() > i:
                weekday -= one_day
                day_number = datetime.date.isoweekday(weekday)

        print(f'{weekday} is {weekDict[str(i)][:3]} It is the No.{dayDict[str(day_number)]} day of this week.')

    if __name__ == "__main__":
        show_currentweek_info()

        # 获取当前日期的年份
        year = datetime.date.today().year
        # 获取当前日期的月份
        month = datetime.date.today().month
        # 获取当月的日历
        cal = calendar.month(year, month);
        print(f"\nHere is the calendar of this month:");
        print(cal);

运行结果如下:

The current date is:2022-03-12  Today is Sat  It's the No.6th day of this week.

2022-03-07 is Mon It is the No.1st day of this week.
2022-03-08 is Tue It is the No.2nd day of this week.
2022-03-09 is Wed It is the No.3nd day of this week.
2022-03-10 is Thu It is the No.4th day of this week.
2022-03-11 is Fri It is the No.5th day of this week.
2022-03-12 is Sat It is the No.6th day of this week.
2022-03-13 is Sun It is the No.7th day of this week.

Here is the calendar of this month:
     March 2022
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31


Process finished with exit code 0

备 注

相关文章
|
2月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
246 102
|
2月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
279 104
|
2月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
236 103
|
21天前
|
Python
Python编程:运算符详解
本文全面详解Python各类运算符,涵盖算术、比较、逻辑、赋值、位、身份、成员运算符及优先级规则,结合实例代码与运行结果,助你深入掌握Python运算符的使用方法与应用场景。
139 3
|
21天前
|
数据处理 Python
Python编程:类型转换与输入输出
本教程介绍Python中输入输出与类型转换的基础知识,涵盖input()和print()的使用,int()、float()等类型转换方法,并通过综合示例演示数据处理、错误处理及格式化输出,助你掌握核心编程技能。
296 3
|
30天前
|
并行计算 安全 计算机视觉
Python多进程编程:用multiprocessing突破GIL限制
Python中GIL限制多线程性能,尤其在CPU密集型任务中。`multiprocessing`模块通过创建独立进程,绕过GIL,实现真正的并行计算。它支持进程池、队列、管道、共享内存和同步机制,适用于科学计算、图像处理等场景。相比多线程,多进程更适合利用多核优势,虽有较高内存开销,但能显著提升性能。合理使用进程池与通信机制,可最大化效率。
220 3
|
22天前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
181 0
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息
244 0
|
SQL 关系型数据库 数据库连接
使用python3抓取pinpoint应用信息入库
使用python3通过pinpoint api来获取pinpoint中应用基础信息、上下游链路,并入库
2107 0
|
数据采集 供应链 机器人
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
548 0
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务

推荐镜像

更多