Python获取上个月最后一天的日期

举报
红目香薰 发表于 2023/02/14 21:53:51 2023/02/14
【摘要】 ​很多时候我们做当月数据统计都会用到这个时间,但是CSDN我查了,还真没有,所以我就写一篇正好应该能变成唯一搜索。期望能有更多的价值。目录Python获取上个月最后一天的日期返回格式1 返回格式2最直接的获取本月第一天示例Demo:最有效的示例:总结Python获取上个月最后一天的日期本文测试时间2月14日,需要计算本月所有发布的文章数目。我们需要遍历所有的文章列表,但是我们需要去截取时间,...

很多时候我们做当月数据统计都会用到这个时间,但是CSDN我查了,还真没有,所以我就写一篇正好应该能变成唯一搜索。期望能有更多的价值。

目录

Python获取上个月最后一天的日期

返回格式1 

返回格式2

最直接的获取本月第一天

示例Demo:

最有效的示例:

总结



Python获取上个月最后一天的日期

本文测试时间2月14日,需要计算本月所有发布的文章数目。

我们需要遍历所有的文章列表,但是我们需要去截取时间,这个时间不能是当月的1号,因为当月1号也有文章发布,故而我们应该去获取上个月最后一天的日期,并且需要根据格式来输出字符串,一般写法有2种格式(符号自己换,有的时候是【/】有的时候是【-】还有可能是【年月日】)。

返回格式1 

这里两个符号我都处理并输出了,根据自己的需求拿取就行。

import datetime
from datetime import timedelta

now = datetime.datetime.now()
str_index = str(datetime.datetime(now.year, now.month, 1) - timedelta(days=1))[:10]
print(str_index)
str_index = str(datetime.datetime(now.year, now.month, 1) - timedelta(days=1))[:10].replace("-", "/")
print(str_index)

输出效果:


返回格式2

这里是长类型的,有时分秒那种。

import datetime
from datetime import timedelta

now = datetime.datetime.now()
str_index = str(datetime.datetime(now.year, now.month, 1) - timedelta(days=1))
print(str_index)
str_index = str(datetime.datetime(now.year, now.month, 1) - timedelta(days=1)).replace("-", "/")
print(str_index)

效果如下:


最直接的获取本月第一天

有的时候我们还需要获取本月第一天,我在平台上找到了一个示例,但是比较麻烦,我们先来看看啊。

示例Demo:

from datetime import datetime
from datetime import timedelta
import calendar


def getLastDayOfLastMonth():
    d = datetime.now()
    c = calendar.Calendar()

    year = d.year
    month = d.month

    if month == 1:
        month = 12
        year -= 1
    else:
        month -= 1
    days = calendar.monthrange(year, month)[1]
    return (datetime(year, month, 1) + timedelta(days=days)).strftime('%Y-%m-%d %X')

print(getLastDayOfLastMonth())

输出时间:

这个是没有任何问题的,就是代码太长了,我们处理一下。

最有效的示例:

看着代码是不是少了很多很多呢。

import datetime

now = datetime.datetime.now()
str_index = str(datetime.datetime(now.year, now.month, 1))
print(str_index)
str_index = str(datetime.datetime(now.year, now.month, 1)).replace("-", "/")
print(str_index)

输出效果如下。 

总结

月份的第一天,最后一天都是有很多用途的,我们在以后具体的开发过程中需要创建一个专门格式化时间的类来帮助我们获取各种格式的时间。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。