2025年2月24日 星期一 甲辰(龙)年 腊月廿四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

python --生成区间内所有日期/计算两个日期相差多少天/近一周日期

时间:08-14来源:作者:点击数:33

python --生成区间内所有日期/计算两个日期相差多少天/近一周日期

用datetime

  • def date_range(beginDate, endDate) -> list:
  • '''区间内所有日期'''
  • dates = []
  • dt = datetime.datetime.strptime(beginDate, "%Y-%m-%d")
  • date = beginDate[:]
  • while date <= endDate:
  • dates.append(date)
  • dt = dt + datetime.timedelta(1)
  • date = dt.strftime("%Y-%m-%d")
  • return dates

获取最近7天日期

  • def date_range() -> list:
  • '''最近7天日期'''
  • before_date = datetime.timedelta(days=7)
  • today = datetime.datetime.today()
  • beginDate, endDate = str((today - before_date).date()), str(today.date())
  • dates = []
  • dt = datetime.datetime.strptime(beginDate, "%Y-%m-%d")
  • date = beginDate[:]
  • while date <= endDate:
  • dates.append(date)
  • dt = dt + datetime.timedelta(1)
  • date = dt.strftime("%Y-%m-%d")
  • return dates
  • print(date_range())

获取指定月份的第一天和最后一天

  • from datetime import datetime, timedelta
  • def get_first_and_last_day(year, month):
  • '''获取本月第一天和最后一天'''
  • first_day = datetime(year, month, 1)
  • if month == 12:
  • last_day = datetime(year + 1, 1, 1) - timedelta(days=1)
  • else:
  • last_day = datetime(year, month + 1, 1) - timedelta(days=1)
  • return first_day.date(), last_day.date()
  • year = 2025
  • month = 2
  • first_day, last_day = get_first_and_last_day(year, month)
  • print("First day of the month:", first_day) # 输出本月的第一天
  • print("Last day of the month:", last_day) # 输出本月的最后一天

用pandas

  • import pandas as pd
  • print(pd.date_range('2022-02-25', '2022-03-02', freq='D')) # 取日期间隔
  • # DatetimeIndex(['2022-02-25', '2022-02-26', '2022-02-27', '2022-02-28',
  • # '2022-03-01', '2022-03-02'],
  • # dtype='datetime64[ns]', freq='D')
  • print(pd.date_range(start='2022-02-25', freq='D', periods=3)) # 只指定开始日期
  • # DatetimeIndex(['2022-02-25', '2022-02-26', '2022-02-27'], dtype='datetime64[ns]', freq='D')
  • print(pd.date_range(end='2022-02-25', freq='D', periods=3)) # 只指定结束日期
  • # DatetimeIndex(['2022-02-23', '2022-02-24', '2022-02-25'], dtype='datetime64[ns]', freq='D'

计算两个日期相差多久

  • from datetime import datetime
  • def days_between_dates(date1_str, date2_str):
  • date_format = "%Y-%m-%d"
  • date1 = datetime.strptime(date1_str, date_format).date()
  • date2 = datetime.strptime(date2_str, date_format).date()
  • delta = date2 - date1
  • return delta.days
  • # 示例日期字符串
  • date1_str = "2023-01-01"
  • date2_str = "2023-01-10"
  • # 计算相差天数
  • days = days_between_dates(date1_str, date2_str) + 1
  • print(f"相差天数:{days} 天")
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐