对比Excel,怎么用Python获取指定时间最后一天的日期

简介: 对比Excel,怎么用Python获取指定时间最后一天的日期

这是群友的一个需求。他想根据一个给定的日期,获取该给定日期在这个年月的最后一天的日期,并且要求在Python中怎么做。基于此,我就想到了对比Excel,在Python中完成这个需求。

image.png


Excel完成这个需求

① 在单元格中输入EOMONTH()公式

image.png


② 完成填充操作

image.png


③ 将时间戳转换为短日期格式

可以看到在excel中输入该公式后,默认返回的是一个时间戳,我们需要将其转换为我我们需要的短日期格式。

image.png


Python完成这个需求

在完成这个需求之前,我们先来讲述几个知识点,否则你会看着懵逼。


1)datetime库中的知识点

import datetime
date1 = datetime.date.today()
print(date1)
year = datetime.date.today().year
print(year)`
month = datetime.date.today().month
print(month)


结果如下:

image.png

可以看出:上面我们使用today()函数直接获取了当前系统的年月,并且利用year和month属性分别获取了当前系统时间的年、月。


接下来,我们使用该模块获取指定年、月的指定日期,其中day=1表示获取当前年月的第一天,day=2表示获取当前年月的第二天…依次进行下去。


date1 = datetime.date(year=year, month=month, day=1)
print(date1)
date2 = datetime.date(year=year, month=month, day=2)
print(date2)


结果如下:

image.png

通过上述演示,应该可以知道怎么完成这个需求了吧?当我们指定了年月,后面只需要传入day=当月的总天数这个参数,得到的不就是该年月的最后一天的日期吗?因此目前的问题就是怎么获取某个月的最后一天,这就是下面需要讲述的monthrange()函数。


2)calendar库中的知识点

对于这个模块,我主要讲述一个monthrange()函数,这个函数是有什么用呢?


monthrange(year, month):返回指定年月,由第一天所在的星期和本月的总天数组成的元组。
# 这里的year和month就是上面提到的2020和7
import calendar
x, y = calendar.monthrange(year, month)
print(x, y)
"""
其中:x表示2020/7/1号所在的星期数,其中周一是0,周二是1,周三是2。
     y表示的是2020年7月这个月的总天数。
"""


结果如下:

image.png


3)完整代码如下

import datetime
import calendar
def func(year=None, month=None):
    if year:
        year = int(year)
    else:
        year = datetime.date.today().year
    if month:
        month = int(month)
    else:
        month = datetime.date.today().month
    # x:表示当月第一天所属的星期
    # y:表示当月的总天数
    x, y = calendar.monthrange(year, month)
    # 获取当月的第一天和最后一天
    first_day = datetime.date(year=year, month=month, day=1)
    last_day = datetime.date(year=year, month=month, day=y)
    return first_day, last_day
first_day, last_day = func()
print(first_day, last_day)
first_day, last_day = func(2020,6)
print(first_day, last_day)


结果如下:


image.png

目录
打赏
0
0
0
0
9
分享
相关文章
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
1120 10
|
9月前
|
Datetime模块应用:Python计算上周周几对应的日期
Datetime模块应用:Python计算上周周几对应的日期
221 1
|
8月前
|
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
321 64
|
8月前
|
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
231 62
这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
本书介绍了如何将Python与Excel结合使用,以提升数据分析和处理效率。内容涵盖Python入门、pandas库的使用、通过Python包操作Excel文件以及使用xlwings对Excel进行编程。书中详细讲解了Anaconda、Visual Studio Code和Jupyter笔记本等开发工具,并探讨了NumPy、DataFrame和Series等数据结构的应用。此外,还介绍了多个Python包(如OpenPyXL、XlsxWriter等)用于在无需安装Excel的情况下读写Excel文件,帮助用户实现自动化任务和数据处理。
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
389 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
用Python轻松获取任意月份的公休日期
本文介绍了如何使用Python的`calendar`和`datetime`模块轻松获取任意月份的公休日期,包括周六和周日。通过示例代码,用户可以输入年份和月份,程序将输出该月份的所有公休日。这对于安排会议、规划旅行或数据分析都非常有用。
109 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
444 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档

推荐镜像

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问