自适应卡片日期格式 dd/MM/yyyy
Posted
技术标签:
【中文标题】自适应卡片日期格式 dd/MM/yyyy【英文标题】:Adaptive Card Date Format dd/MM/yyyy 【发布时间】:2020-09-23 02:05:09 【问题描述】:我正在尝试将自适应卡片日期格式化为 dd/MM/yyyy 使用这些数据:
"Due_Date": "2020-09-20T06:08:00Z",
我尝试了这些格式:
"type": "TextBlock",
"text": "Due Date: DATE($$root.Due_Date, COMPACT) "
,
"type": "TextBlock",
"text": "Due Date: $formatDateTime(Due_Date, 'dd/MM/yyyy')"
我从 AC Studio 得到了这个渲染:
当我使用设计器时,我得到了这个结果:
使用:
"title": "Date Only",
"value": "DATE($start, COMPACT)"
,
这是我的卡片渲染为 MM/dd/yyyy 时遇到的问题。
所以 AC Viewer 正在使用我的语言环境,但浏览器正在使用其他语言环境。 更有趣的是看时间。那个时间已经增加了 12 个小时!
我想告诉这张卡使用我的语言环境,我可以将 SDK 配置为使用我的语言环境吗?为什么浏览器没有使用我的语言环境?
使用 AC Studio 我的语言环境是 EN-AU ,我认为它根本没有使用它 :-( 在 VS Code 中使用 javascript SDK 和 AC Studio 渲染,在 AC Designer 中相同 TIA。欢迎所有建议
【问题讨论】:
天哪,这是一个糟糕的例子,因为它以我想要的格式显示日期:-(,多么令人困惑! 【参考方案1】:在使用自适应表达式时,有多种方法可以在自适应卡片上格式化日期。
这里有一张不错的示例卡:https://www.madewithcards.io/cards/adaptive-expressions-playing-with-dates
[
"title": "Date Only",
"value": "$formatDateTime(start, 'yyyy-MM-dd')"
,
"title": "Time Only",
"value": "$formatDateTime(start, 'HH:mm')"
,
"title": "Date and Time",
"value": "$formatDateTime(start, 'dd.MM.yyyy HH:mm')"
,
"title": "Long Date",
"value": "$formatDateTime(start, 'dddd dd. MMMM yyyy')"
,
"title": "Short Date",
"value": "$formatDateTime(start, 'MM MMMM y')"
,
"title": "Short Date with Time",
"value": "$formatDateTime(start, 'dd.MM.yy - hh:mm')"
]
【讨论】:
顺便说一句,AC 查看器已经过时了。试试这个:madewithcards.io/studio 支持所有最新的东西 感谢 Tim,这是我使用的示例,我使用的是 Studio,而不是 Viewer。在澳大利亚,我们是过时的,并写我们的日期 dd/MM/yyyy。 蒂姆。我又看了看,这是一个区域设置问题,您的查看器获取了区域设置,浏览器没有【参考方案2】:我已将此作为 Javascript SDK https://github.com/microsoft/AdaptiveCards/issues/4842 的问题提交
【讨论】:
这是一个自适应表达式问题github.com/microsoft/botbuilder-js/issues/2864以上是关于自适应卡片日期格式 dd/MM/yyyy的主要内容,如果未能解决你的问题,请参考以下文章
如何迅速转换日期格式 yyyy-mm-dd转为yyyy/mm/dd
jsp 中怎样把日期dd/mm/yyyy 转换成 yyyy-mm-dd 格式
将 dd-MMM-YYYY 格式的日期转换为 JS 中的日期或 dd/mm/yyyy 格式