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

Python中如何记录程序启动日期并计算运行间隔天数?

当然可以!这两个需求在Python里都能很方便地实现,我分两种场景给你详细说明:

场景1:查看当前程序运行期间,自启动以来的天数

如果是想在程序本次运行过程中,随时查看从启动到当前时刻已经过去的天数,可以借助datetime模块来实现。思路很简单:在程序启动时记录下当前时间,之后需要计算时,用当前时间减去启动时间,取结果的days属性即可。

示例代码:

import datetime

# 程序启动时立即记录启动时间
start_time = datetime.datetime.now()

# 假设程序运行了一段时间后,在某个需要的节点计算已过去的天数
# 这里模拟后续操作,实际中可以在任意位置调用这段计算代码
current_time = datetime.datetime.now()
elapsed_interval = current_time - start_time
elapsed_days = elapsed_interval.days

print(f"自程序启动以来已经过去了 {elapsed_days} 天")

注意:如果启动时间和当前时间间隔不足24小时,days会返回0。如果需要更精细的时间计算,可以结合total_seconds()转换成天数(比如elapsed_interval.total_seconds() / 86400),不过你问的是天数,这个方法足够用了。

场景2:记录上次启动日期,计算两次运行的间隔天数

这个需求需要把上次启动的时间持久化存储到文件里(比如一个简单的文本文件),下次程序启动时读取这个文件,再和当前启动时间计算差值。

示例代码:

import datetime

def calculate_days_between_starts():
    # 用来存储上次启动时间的文件路径
    record_file = "last_program_start.txt"
    # 获取本次启动的日期(如果不需要时分秒,用date.today()更精准)
    current_start_date = datetime.date.today()
    days_interval = 0

    # 尝试读取上次启动记录
    try:
        with open(record_file, "r") as f:
            last_start_str = f.read().strip()
            # 把文件里的字符串解析成date对象
            last_start_date = datetime.datetime.strptime(last_start_str, "%Y-%m-%d").date()
            # 计算间隔天数
            days_interval = (current_start_date - last_start_date).days
            print(f"距离上次程序启动已经过去了 {days_interval} 天")
    except FileNotFoundError:
        # 文件不存在说明是第一次运行
        print("这是程序第一次启动,没有历史记录")
    
    # 把本次启动日期写入文件,覆盖旧记录
    with open(record_file, "w") as f:
        f.write(current_start_date.strftime("%Y-%m-%d"))
    
    # 返回间隔天数,赋值给变量使用
    return days_interval

# 调用函数,获取间隔天数并赋值给变量
days_between = calculate_days_between_starts()
print(f"间隔天数变量值为: {days_between}")

比如你说的例子:5月7日第一次启动程序,文件会写入2018-05-07;5月14日再次启动时,程序读取到上次日期,计算2018-05-14 - 2018-05-07得到7天,days_between变量就会是7,完全符合你的需求。

小提示:如果需要保留时分秒的精确记录,只需要把date.today()换成datetime.now(),同时把日期格式改成%Y-%m-%d %H:%M:%S即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:32:03