MS Teams机器人在用户时区显示时间

问题描述 投票:0回答:2

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

botframework microsoft-teams azure-bot-service
2个回答
0
投票

我不知道在Teams中有任何类似的东西,至少在普通的短信中没有。作为一种可能的替代建议,可能是将日期时间设置为UTC,然后告诉用户,然后使文本本身成为指向显示用户当地时间的网页的超链接。

在您的网页中,您可以使用]来获取用户的时区>

Intl.DateTimeFormat().resolvedOptions().timeZone

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

要使机器人消息中的文本实际成为超链接,您需要发送回自适应卡,并对网址使用Markdown格式,该格式类似于:[My Link](https://whatever.com)(但没有空格,所以应该是](]

自适应卡确实提供了一种方法。 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

可悲的是,这仅在附件卡内有效。


0
投票

自适应卡确实提供了一种方法。 TIME函数采用ISO_8601格式的日期时间文本,并将时间显示给最终用户的区域设置和时区。

© www.soinside.com 2019 - 2024. All rights reserved.