添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
def getBetweenMonth(begin_date, end_date=None): date_list = [] begin_date = datetime.datetime.strptime(begin_date, "%Y%m%d") print(begin_date) end_date = end_date if end_date else datetime.datetime.strptime( time.strftime('%Y%m%d', time.localtime(time.time())), "%Y%m%d") while begin_date <= end_date: date_str = begin_date.strftime("%Y-%m") date_list.append(date_str) begin_date = add_months(begin_date, 1) return date_list def add_months(dt, months): month = dt.month - 1 + months year = int(dt.year + month / 12) month = int(month % 12 + 1) day = min(dt.day, calendar.monthrange(year, month)[1]) return dt.replace(year=year, month=month, day=day) def get_quarter(month_list): 根据月份获取季度 :param month_list: ['2018-11', '2018-12'] :return:日期所在季度月末值 quarter_list = [] for value in month_list: temp_value = value.split("-") if temp_value[1] in ['01', '02', '03']: quarter_list.append(temp_value[0] + "0331") elif temp_value[1] in ['04', '05', '06']: quarter_list.append(temp_value[0] + "0630") elif temp_value[1] in ['07', '08', '09']: quarter_list.append(temp_value[0] + "0930") elif temp_value[1] in ['10', '11', '12']: quarter_list.append(temp_value[0] + "1231") quarter_set = set(quarter_list) quarter_list = list(quarter_set) quarter_list.sort() return quarter_list def getBetweenQuarter(begin_date, end_date=None): 获取两个时间之间的季度时间 :param begin_date: 起始时间 :param end_date: 默认当前时间 :return: 日期所在季度月末值 month_list = getBetweenMonth(begin_date, end_date) quarter_list = get_quarter(month_list) return quarter_list def getNearQuarter(begin_date, num=1): 获取临近几个季度的截止时间 :param begin_date: 起始时间 :param num: 正整数向将来推 默认:下一个季度 :return: 日期所在季度月末值 month_list = [] begin_date = datetime.datetime.strptime(begin_date, "%Y%m%d") begin_date_ = add_months(begin_date, 3 * num) date_str = begin_date_.strftime("%Y-%m") month_list.append(date_str) quarter_list = get_quarter(month_list) return quarter_list def getQuarterFirstDay(date_str): 获取本季度第一天 :param date_str: :return:日期所在季度第一天 date = datetime.datetime.strptime(date_str, "%Y%m%d") quarter_start_day = datetime.date(date.year, date.month - (date.month - 1) % 3, 1) return quarter_start_day.isoformat() def getQuarterLastDay(date_str): 本季度最后一天 :param date_str: :return: 日期所在季度最后一天 from dateutil.relativedelta import relativedelta # 引入新的包 date = datetime.datetime.strptime(date_str, "%Y%m%d") quarter_end_day = datetime.date(date.year, date.month - (date.month - 1) % 3 + 2, 1) + relativedelta(months=1, days=-1) return quarter_end_day.isoformat() if __name__ == '__main__': begin_date = '20181121' quarter_list = getBetweenQuarter(begin_date, end_date=None) # quarter_list = getNearQuarter(begin_date) print(quarter_list) date_str = '20180630' # print(getQuarterFirstDay(date_str)) # print(getQuarterLastDay(date_str))

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】 RedisUtil工具类 在Redis中数据都是以key-value的形式存储的,key规定只能是string类型的,所以我们 缓存技术相关 redis-server.exe 服务器启动命令 redis-cli.exe 命令行客户端 定义一个时间类 Time,它能表示 24 小时制的时、分、秒,具体要求如下 (20 分) 定义一个时间类 Time,它能表示 24 小时制的时、分、秒,具体要求如下: java正则表达式 过滤特殊字符的正则表达式 java正则表达式 过滤特殊字符的正则表达式 安装DB2 安装DB2 Linux扩容分区 Linux扩容分区 输出相关路径 输出相关路径 输出当前目录下所有文件名到指定文件中 输出当前目录下所有文件名到指定文件中 删除命令参数说明 删除命令参数说明 删除前3天、前30天、前7天的文件 删除前3天、前30天、前7天的文件 多线程工作处理 多线程工作处理、多线程工作处理简单实现类、多线程工作处理接口 压缩jsp,html中的代码,去掉所有空白符、换行符 压缩jsp,html中的代码,去掉所有空白符、换行符 压缩、解压缩工具类 压缩、解压缩工具类 二维码工具类 二维码工具类、支付二维码 缓存工具类 缓存名创建后即使移除缓存,也不会重新创建 缓存工具类 缓存名创建后即使移除缓存,也不会重新创建 json工具类 json工具类 常量资源文件工具类 常量资源文件工具类 资源文件工具类 资源文件工具类 处理查询结果后分页排序类 处理查询结果后分页排序类 html解析工具类、html表格解析解析工具类 html解析工具类、爬虫、html表格解析解析工具类、webClient工厂 金融业务 (4) 教育资料 (10) Java (901) C++ (86) C# (215) Python (9022) Oracle (911) SqlServer (681) MySql (600) DB2 (33) PostgreSql (23) Tomcat (825) Weblogic (12) Windows (214) Linux (647) VMware (32) Ubuntu (194) ASP.NET (198) Android (681) IOS (75) Hive (45) Hadoop (50) Hbase (9) Spark (4) redis (78) PHP (145) Jquery (174) Javascript (168) NoSQL (6) CSS (127) 资料下载 (25) 交易系统 (9) java工具类 (32) 其它 (7) 秕处理 (4)