工作中经常对两个日期的数据进行比较,比如一张报表是用昨天的数据和上月月末的数据进行比较,用python如何获取两个日期呢?

python时间数据基础


from datetime import date,timedelta,datetime
import time

date.today() # 当天日期,年月日
date.today()+timedelta(1) # 明天
date(2011,10,1)
date.today().strftime('%Y-%m-%d') # 转换成字符串
date.today().year # 年
date.today().month # 月
date.today().day # 日


datetime.now()  # 现在时间,年月日时分秒
datetime.now()+timedelta(-1) # 昨天
datetime(2011,10,1)
datetime.now().strftime('%Y-%m-%d') # 转换成字符串
datetime.now().year # 年
datetime.now().month #月
datetime.now().day # 日
datetime.now().hour # 时
datetime.now().minute # 分
datetime.now().second # 秒

time.time() # 当前时间的时间戳,一般计算两个时间间隔多少秒

获取两个日期

# 获取日期: 昨天日期, 以及以昨天日期为起点上月末的日期
def riqi():
    jt = date.today()  # 今天
    # jt = date(2022, 9, 1) # 测试用
    # 开始时间
    start = jt - timedelta(days=1) # 昨天 
    # 开始日期月初日期
    start_month_first = date(start.year, start.month, 1)
    # 开始日期上月末日期
    last_month_end = start_month_first - timedelta(days=1)
    
    st = start.strftime('%Y-%m-%d')
    et = last_month_end.strftime('%Y-%m-%d')
    return st, et
    
st, et = riqi()

riqi()

例:今天是9月26日,则返回9月25日和8月31日两个日期