【问题标题】:Microsoft planner startDate/dueDate timezone?Microsoft planner 开始日期/截止日期时区?
【发布时间】:2021-10-27 02:47:04
【问题描述】:

Microsoft planner 似乎不支持任务的时间,即没有任何方法来指定时间:

但是当我调用 planner API 来获取任务开始日期/时间时:

https://graph.microsoft.com/v1.0/planner/plans/xxxxxxxxxx/tasks

API 返回日期带时间(时间不为零,也不是 UTC 零)。在此示例中,时间为 10:00。这个 10:00 是从哪里来的?可以在规划器中硬编码吗?我创建该任务的当地时间是 18:23

基本上,问题是,这次是什么时候(在不同的组织/团队中可能会有所不同)?或者更具体地说,我如何从该值中获取纯日期(计划者本身显示的日期)?删除时间似乎是一个错误的选择? (时间可能与第二天/前一天重叠,具体取决于时区)。 计划器 API 返回的时间是哪个时区?如果规划器仅支持日期,为什么它不为零(或 UTC 零)?

【问题讨论】:

    标签: microsoft-graph-api microsoft-planner


    【解决方案1】:

    Planner 将在 UI 中选取的日期存储为选取日期的 10 AM UTC。该特定值导致本地时间与大多数地方的日期相同。对客户的建议是获取带有偏移量的时间值(如果 Planner Web 设置了这个,偏移量将为 0,这由您的示例中的 Z 后缀表示),并将其转换为本地时间以显示(只是结果值的日期部分)。

    【讨论】:

    • 感谢您的解释! SharePoint 有特定的时区设置,所以我想也许 Planer 也有类似的设置。现在我看到了这个想法。日期将仅在太平洋中部 +1/-1 天休息,这可能还可以:D
    【解决方案2】:

    startDateTime 是 DateTimeOffset 类型的属性,表示任务开始的日期和时间。 Timestamp 类型表示使用 ISO 8601 格式的日期和时间信息,并且始终采用 UTC 时间。例如,2014 年 1 月 1 日午夜 UTC 是 2014-01-01T00:00:00Z

    请参阅文档here。 谢谢。

    【讨论】:

    • 感谢您的回答。但是我问为什么任务时间基本上不等于零,前提是计划者没有时间概念,只有日期。请仔细阅读问题(尤其是粗体部分) - 这与格式或任何内容无关,而是关于您使用 API 获得的“时间”值的含义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-16
    • 1970-01-01
    • 2019-11-04
    • 2020-08-20
    • 1970-01-01
    相关资源
    最近更新 更多