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

如何使用C#调用Notion API向日历数据库写入日期时去除时间部分

问题根因

Notion API 对日期字段的格式判定规则为:如果传入值带时间分量,就会自动按「日期+时间」类型渲染,默认展示12:00 AM(UTC);只有传入符合yyyy-MM-dd格式的纯日期字符串时,才会按纯日期格式展示。
你当前代码中直接传入DateTime类型对象时,SDK序列化会自动附带时间部分(哪怕时间是0点),因此会出现多余的时间显示。另外你的asdadsasd方法中存在一个鉴权参数错误:创建Notion客户端时AuthToken误传为TOKEN.Calendar_ID,会导致接口调用鉴权失败。

修复方案
  1. 日期字段赋值时,先取DateTime的纯日期部分,再显式转换为yyyy-MM-dd格式的字符串赋值给Start属性,不要直接传DateTime对象
  2. 修正asdadsasd方法中的客户端鉴权参数错误

修正后的核心日期属性代码片段:

.AddProperty("date", new DatePropertyValue
{
    Date = new Date
    {
        // 取纯日期部分转成指定格式字符串,避免附带时间分量
        Start = _111.datee.Date.ToString("yyyy-MM-dd")
    }
})

asdadsasd方法中创建客户端的代码修正为:

var _client = NotionClientFactory.Create(new ClientOptions
{
    AuthToken = TOKEN.Token // 原代码此处误写为Calendar_ID,会导致鉴权失败
});
注意事项
  • 纯日期场景必须严格使用yyyy-MM-dd格式的字符串传值,Notion识别后就不会再展示时间和UTC标识
  • 只有需要记录具体时间的场景,才需要传入带时区、时分秒的ISO8601格式时间值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:51:21