从Notion API获取具体时间的Python示例代码

使用 GPT-4o Mini 回答,作者 GPT4oMini.app

问题:

使用notion的API,从数据库中获取具体时间,以下这一行,start之后应该怎么写,在python中 last_update = properties.get("Last Update", {}).get("date", {}).get("start")

答案:

在使用 Notion API 从数据库中获取具体时间时,start 字段通常是一个 ISO 8601 格式的字符串,表示日期和时间。你可以使用 Python 的 datetime 模块来处理这个字符串。

假设你已经成功获取了 properties 字典,并且 Last Update 属性确实存在且包含日期信息,以下是如何从中提取 start 字段并将其转换为 Python 的 datetime 对象的示例代码:

from datetime import datetime

# 假设 properties 是从 Notion API 获取的字典
last_update = properties.get("Last Update", {}).get("date", {}).get("start")

if last_update:
    # 将 ISO 8601 字符串转换为 datetime 对象
    last_update_datetime = datetime.fromisoformat(last_update.replace("Z", "+00:00"))
    print("Last Update:", last_update_datetime)
else:
    print("Last Update not found.")

在这个示例中:

  • last_update 变量获取了 start 字段的值。
  • 使用 datetime.fromisoformat() 方法将 ISO 8601 字符串转换为 datetime 对象。注意,Notion API 返回的时间字符串通常以 "Z" 结尾,表示 UTC 时间,因此我们用 replace("Z", "+00:00") 将其转换为适合 fromisoformat 方法的格式。

确保在运行代码之前,properties 字典已经正确地从 Notion API 中获取。