我是靠谱客的博主 务实钢铁侠,最近开发中收集的这篇文章主要介绍python获取每年的季度,月份,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参数:年份,跳跃月数,

如果获取每个季度,step=3;半年,step=6

返回:起始和结束

import datetime
import calendar

def year_by_step(year,step):
    start = str(year) + "0101"
    jump = int(step)
    try:
        datetime.datetime.strptime(start,"%Y%m%d")
    except Exception as result:
        raise Exception("参数格式必须是yyyy如:1999,%s" % result)
    result = []
    for i in range(1,13,jump):
        if i+jump-1 > 12:
            break;
        month_start,month_end = ("%02d" % int(i),"%02d" % int(i-1+jump))
        range_day = calendar.monthrange(int(year),int(month_end))[1]
        m_start = str(year)+month_start+"01"
        m_end = str(year)+month_end+str(range_day)
        result.append((m_start,m_end))
    return result
                      
测试:
print(year_by_step(2019,3))
结果:
[('20190101', '20190331'), ('20190401', '20190630'), ('20190701', '20190930'), ('20191001', '20191231')]

其他方法,见方法上方注释

import urllib.parse
import datetime
import calendar
import requests
import json
import pandas

# 输入一个时间,返回该时间的月末,ds=java:yyyyMMdd,Python:%Y%m%d
def month_end_day(ds):
    try:
        datetime.datetime.strptime(ds,"%Y%m%d")
    except Exception as result:
        raise Exception("参数格式必须是yyyyMMdd如:19991010,%s" % result)
    year = ds[0:4]
    month = ds[4:6]
    range_day = calendar.monthrange(int(year),int(month))[1]
    return  ds[0:6]+str(range_day)

# 获取输入日期的前一天
def yesterday(ds=datetime.datetime.now().strftime("%Y%m%d")):
    try:
        datetime.datetime.strptime(ds,"%Y%m%d")
    except Exception as result:
        raise Exception("参数格式必须是yyyyMMdd如:19991010")
    return (datetime.datetime.strptime(ds,"%Y%m%d") - datetime.timedelta(days = 1)).strftime("%Y%m%d")
    
# 输入起始时间,结束时间,获取该时间段的每天列表
def get_days(start,end=datetime.datetime.now().strftime('%Y-%m-%d')):
    date_index = pandas.date_range(start,end)
    date_list = [pandas.Timestamp(x).strftime("%Y%m%d") for x in date_index]
    return date_list
    
# url加解密
def quote(url):
    return urllib.parse.quote(url)
    
def unquote(url):
    return urllib.parse.unquote(url)

最后

以上就是务实钢铁侠为你收集整理的python获取每年的季度,月份的全部内容,希望文章能够帮你解决python获取每年的季度,月份所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部