Microsoft Teams桌面端自适应卡片DATE、TIME函数未显示本地化格式
Teams桌面端自适应卡片日期时间本地化问题解决
问题现象
使用以下自适应卡片时:
{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0", "body": [ { "type": "TextBlock", "text": "Your package will arrive on {{DATE(2017-02-14T06:00:00Z, SHORT)}} at {{TIME(2017-02-14T06:00:00Z)}}", "wrap": true } ] }
- Teams浏览器端:修改浏览器语言后,卡片日期时间可正常显示为对应本地化格式;
- Teams桌面端:仅修改系统时区后,卡片无法按期望显示本地化日期时间格式。
原因分析
Teams桌面端与浏览器端的自适应卡片日期解析逻辑存在差异:
- 浏览器端直接复用浏览器的语言/区域配置处理
DATE/TIME函数; - 桌面端依赖Teams应用自身的语言区域设置,而非单纯的系统时区。仅修改系统时区不会触发Teams应用的格式更新,必须同步调整应用内的语言区域配置。
解决方案
1. 调整Teams桌面端语言区域设置
- 打开Teams桌面端,点击右上角个人头像 → 进入「设置」;
- 在「常规」标签页找到「语言和区域」选项;
- 选择匹配目标时区的语言/区域,点击「保存」后重启Teams。
2. 显式指定时区参数(强制适配)
如果需要固定时区格式,可在DATE/TIME函数中添加时区参数,示例:
"text": "Your package will arrive on {{DATE(2017-02-14T06:00:00Z, SHORT, 'Asia/Shanghai')}} at {{TIME(2017-02-14T06:00:00Z, 'Asia/Shanghai')}}"
该方式不受客户端设置影响,直接按指定时区格式化日期时间。
3. 同步系统区域设置
- 确保Windows/macOS系统的「区域格式」与期望的本地化格式一致;
- 重启Teams桌面端,让应用重新读取系统区域配置。
内容的提问来源于stack exchange,提问作者noumanmalik56
相关产品推荐
相关产品推荐

