自适应卡片日期格式 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 格式

将日期格式更改为 yyyy-mm-dd

Pandas 将日期字符串从格式 mm/d/yyyy 和 mm/dd/yyyy 转换为 dd.mm.yyyy

如何将日期转换为“dd/MM/yyyy”格式?