python日期处理
2021/11/2 20:40:19
本文主要是介绍python日期处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python 日期函数
# -*- coding: utf-8 -*- import time import pandas import datetime import random from dateutil.relativedelta import relativedelta """ time """ def quarter(month: str): """ :param month: :return: """ if month in {"1", "2", "3"}: return "1" elif month in {"4", "5", "6"}: return "2" elif month in {"7", "8", "9"}: return "3" elif month in {"10", "11", "12"}: return "4" else: return "" def year_qua(date: str): """ :param date: :return: """ month = date[5:7] return [date[0:4], quarter(month)] def get_today(): """ :return: """ return str(datetime.datetime.today().date()) def get_year(): """ :return: """ return datetime.datetime.today().year def get_month(): """ :return: """ return datetime.datetime.today().month def get_hour(): """ :return: """ return datetime.datetime.today().hour def today_last_year(): """ :return: """ return str(datetime.datetime.today().date() - relativedelta(years=1)) def day_last_week(days=-7): """ :param days: :return: """ return str(datetime.datetime.today().date() + datetime.timedelta(days)) def day_last_date(date, days=-1): """ :param date: :param days: :return: """ last = datetime.datetime.strptime(date, "%Y-%m-%d") + datetime.timedelta(days) return str(last)[0:10] def get_now(): """ :return: """ return time.strftime("%Y-%m-%d %H:%M:%S") def int_time(timestamp): """ :param timestamp: :return: """ time_str = datetime.datetime.utcfromtimestamp(timestamp).strftime("%Y-%m-%d %H:%M:%S") return time_str def diff_day(start=None, end=None): """ :param start: :param end: :return: """ day_start = datetime.datetime.strptime(start, "%Y-%m-%d") day_end = datetime.datetime.strptime(end, "%Y-%m-%d") return (day_end - day_start).days def get_quarts(start: str, end: str): """ :param start: :param end: :return: """ idx = pandas.period_range( "Q".join(year_qua(start)), "Q".join(year_qua(end)), freq="Q-JAN" ) return [str(d).split("Q") for d in idx][::-1] def trade_cal(): """ :return: """ return pandas.read_csv("http://file.tushare.org/tsdata/calAll.csv") def is_holiday(date: str): """ :param date: :return: """ df = trade_cal() holiday = df[df.isOpen == 0]["calendarDate"].values today = "" if isinstance(date, str): today = datetime.datetime.strptime(date, "%Y-%m-%d") if today.isoweekday() in [6, 7] or str(date) in holiday: return True return False def last_today_date(): """ :return: """ today = int(datetime.datetime.today().date().strftime("%w")) if today == 0: return day_last_week(-2) return day_last_week(-1) def tt_dates(start="", end=""): """ :param start: :param end: :return: """ dates = [ d for d in range(int(start[0:4]), int(end[0:4]) + 1, 2) ] return dates def _random(n=13): """ :param n: :return: """ return str(random.randint(10 ** (n - 1), (10 ** n) - 1)) def get_q_date(year=None, quarter=None): """ :param year: :param quarter: :return: """ dt = { "1": "-03-31", "2": "-06-30", "3": "-09-30", "4": "-12-31" } return "%s%s" % (str(year), dt[str(quarter)])
这篇关于python日期处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-04Python外包有哪些常见的主要库-icode9专业技术文章分享
- 2024-10-02基于深度学习的钢铁缺陷检测系统(yolov8、注意力机制、PyQt5界面、Python)
- 2024-10-01怎么用python搭建一个系统-icode9专业技术文章分享
- 2024-09-30Python基础入门教程
- 2024-09-30获取参数学习:Python中的基础教程
- 2024-09-30Python编程基础详解
- 2024-09-29点击加载学习:Python编程基础教程
- 2024-09-29数据科学五大Python前端库:第二部分
- 2024-09-27使用python 将ETH账户的资产打散
- 2024-09-26Python编程基础