You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何让函数返回的日期时间固定为09:00:00

Python日期函数固定返回时间为09:00:00的修改方案

原有代码

def dailyChecksInputDates():
    current_date = datetime.now()
    weekday = current_date.strftime("%A")
    if weekday.upper() == 'MONDAY':
        return datetime.now() - timedelta(days=3)
    else:
        return datetime.now() - timedelta(days=1)

print(ParametersUtil.dailyChecksInputDates())

原有逻辑的日期计算规则(周一返回3天前的日期,其余时间返回1天前的日期)符合预期,仅需要调整返回值的时间部分固定为09:00:00。

修改后代码

直接在计算完目标偏移日期后,调用datetime对象的replace()方法重写时间字段即可,完整适配原调用方式的代码如下:

from datetime import datetime, timedelta

class ParametersUtil:
    @staticmethod
    def dailyChecksInputDates():
        current_date = datetime.now()
        weekday = current_date.strftime("%A")
        if weekday.upper() == 'MONDAY':
            target_date = datetime.now() - timedelta(days=3)
        else:
            target_date = datetime.now() - timedelta(days=1)
        # 固定时间为09:00:00,清零微秒消除时间精度误差
        return target_date.replace(hour=9, minute=0, second=0, microsecond=0)

print(ParametersUtil.dailyChecksInputDates())

改动说明

  • 原有工作日判断、日期偏移的逻辑完全保留,不会改变原本计算得到的年月日结果
  • replace()方法只会修改传入参数对应的字段,未传入的年、月、日字段会保持原值不变
  • 额外设置microsecond=0是为了清除datetime.now()自带的微秒值,保证返回的时间部分完全为09:00:00,不会出现类似09:00:00.123456的结果

内容的提问来源于stack exchange,提问作者Sathish Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 11:45:29