python获取本年度每月第一天,每月最后一天,时间-1天,日期分季度

获取本年度每月第一天,每月最后一天
# -*- coding: utf-8 -*-
"""
Date:2021
"""
import time
import datetime
import calendar

class DateUtils:
    """DateUtils"""
    def __init__(self):

    def getStartDate(self):
        """开始时间"""
        year = datetime.datetime.now().year
        d = []
        for num in range(1, 13):
            temp = ""
            if num < 10:
                temp = str(year) + '-0' + str(num) + "-01"
            else:
                temp = str(year) + '-' + str(num) + "-01"
            d.append(temp)
        return d

    def getEndDate(self):
        """结束时间"""
        year = datetime.datetime.now().year
        d = []
        for num in range(1, 13):
            # 获取当前月的第一天的星期和当月总天数
            weekDay, monthCountDay = calendar.monthrange(year, num)
            d.append(str(datetime.date(year, num, day=monthCountDay)))
        return d
        
if __name__ == '__main__':
    d = DateUtils()
   	print(d.getStartDate())
    print(d.getEndDate())
输出结果:
['2022-01-01', '2022-02-01', '2022-03-01', '2022-04-01', '2022-05-01', '2022-06-01', '2022-07-01', '2022-08-01', '2022-09-01', '2022-10-01', '2022-11-01', '2022-12-01']
['2022-01-31', '2022-02-28', '2022-03-31', '2022-04-30', '2022-05-31', '2022-06-30', '2022-07-31', '2022-08-31', '2022-09-30', '2022-10-31', '2022-11-30', '2022-12-31']

文章借鉴:https://cloud.tencent.com/developer/article/1073164
文章借鉴:https://www.cnblogs.com/test-hui/p/12067671.html
文章借鉴:https://www.cnblogs.com/aixiao07/p/13489159.html

时间-1天
    year = datetime.datetime.now().year
    dd = str(year) + '-03-01'
    re_date = (datetime.datetime.strptime(dd, '%Y-%m-%d').date() - datetime.timedelta(days=1)).strftime('%Y-%m-%d')
日期分季度
    def getBetweenQuarter(self, value):
        if 'CST' in value:
            value = self.trans_format(value, '%a %b %d %H:%M:%S CST %Y', '%Y-%m-%d %H:%M:%S')
        temp_value = value.split("-")
        if temp_value[1] in ['01', '02', '03']:
            return "Q1"
        elif temp_value[1] in ['04', '05', '06']:
            return "Q2"
        elif temp_value[1] in ['07', '08', '09']:
            return "Q3"
        elif temp_value[1] in ['10', '11', '12']:
            return "Q4"

    def trans_format(self, time_string, from_format, to_format='%Y.%m.%d %H:%M:%S'):
        time_struct = time.strptime(time_string, from_format)
        times = time.strftime(to_format, time_struct)
        return times

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值