从 datetime.datetime(2020, 6, 10, 5, 30, tzinfo=tzlocal()

Extract Date from datetime.datetime(2020, 6, 10, 5, 30, tzinfo=tzlocal()

我需要编写 python 代码以仅从 InstalledTime

中提取日期
{'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())}

提取后需要用 timenow 即日期减去它并在 btwn 中找到天数。

请帮忙解决这个问题。

import datetime
import dateutil.tz

result = {
    '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=dateutil.tz.tzlocal())
}
install_time = result["InstalledTime"]
# Create a timezone aware date for right now
right_now = datetime.datetime.now(dateutil.tz.tzlocal())
diff = right_now - install_time
print(diff.days)

我假设你有 dateutil.tz.tzlocal 因为你的例子的 tzinfo 属性是 tzlocal().

为了减去两个 datetime.datetime 对象,它们必须要么是天真的,要么都是时区感知的。

此外,diff.days 可能不稳健,因为 normalization