如何用Python从datetime类型InstalledTime提取日期并计算距今日数
Python实现方案
首先需要提前安装tzlocal依赖(如果环境中没有的话),执行安装命令:
pip install tzlocal
核心实现逻辑
- 从
datetime类型的InstalledTime字段提取日期:直接调用datetime对象的.date()方法,即可丢弃时分秒信息,仅保留年月日部分 - 获取当前本地日期:为保证时区和
InstalledTime一致,建议使用带本地时区的当前时间再提取日期 - 日期间隔计算:两个
date类型对象直接相减得到timedelta对象,取其days属性即可得到间隔天数
完整可运行代码示例
import datetime from tzlocal import tzlocal # 示例字典数据 update_info = { 'Title': '2020-06 Servicing Stack Update for Windows 8.1 for x64-based Systems (KB4562253)', 'KBId': 'KB4562253', 'Classification': 'SecurityUpdates', 'Severity': 'Critical', 'State': 'Installed', 'InstalledTime': datetime.datetime(2020, 6, 10, 5, 30, tzinfo=tzlocal()) } # 1. 提取安装日期 install_date = update_info['InstalledTime'].date() print(f"提取到的安装日期:{install_date}") # 2. 获取当前本地日期(时区和安装日期保持一致) current_date = datetime.datetime.now(tz=tzlocal()).date() print(f"当前日期:{current_date}") # 3. 计算间隔天数 delta_days = (current_date - install_date).days print(f"安装日期距离今天的间隔天数:{delta_days}")
注意事项
- 如果不需要严格对齐时区,也可以直接用
datetime.date.today()获取当前日期,大部分场景下计算结果一致 - 计算得到的天数是自然日差值,如果安装日期晚于当前日期,结果会为负数
内容的提问来源于stack exchange,提问作者Dexter
相关产品推荐
相关产品推荐

