【问题标题】:MS Teams bot displaying time in user's timezoneMS Teams 机器人在用户的时区显示时间
【发布时间】:2020-04-15 12:24:32
【问题描述】:

我正在使用他们的 REST API 构建一个 Microsoft Teams 机器人。机器人需要发送事件的状态,例如 Started at 1:43 PMEnded at 5:30 PM。这些信息将被发送到频道,这些频道很自然地会有属于不同时区的用户。有没有办法发送 ISO_8601 格式的日期时间文本(或任何其他格式)并让 MS Teams 以用户的区域设置和时区显示时间?

【问题讨论】:

标签: botframework microsoft-teams azure-bot-service


【解决方案1】:

自适应卡确实提供了一种方法。 TIME 函数采用 ISO_8601 格式的日期时间文本,并在最终用户的语言环境和时区中显示时间。

格式:{{TIME(ISO_8601_Formatted_Date_String)}}

更多细节 - https://docs.microsoft.com/en-us/adaptive-cards/authoring-cards/text-features#datetime-formatting-and-localization

可悲的是,这仅适用于附件卡。

【讨论】:

    【解决方案2】:

    我不知道 Teams 中有任何类似的东西,至少在普通短信中没有。作为一个可能的替代建议,也许让日期时间为 UTC,告诉用户是这种情况,并使文本本身成为显示用户本地时间的网页的超链接。

    在您的网页中,您可以使用

    获取用户的时区

    Intl.DateTimeFormat().resolvedOptions().timeZone

    然后从那里查找并计算偏移量,以向他们显示相关时间。

    要真正使您的机器人消息中的文本成为超链接,您需要发回自适应卡片并使用 Markdown 格式的 url,看起来类似于:[My Link] (https://whatever.com)(但没有空格,所以它会是 ](

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多