You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Dynamics 365中为Dataverse表日期时间列设置自定义格式?

在Dynamics 365中自定义Dataverse日期时间列展示格式的可行性

这个需求完全可行,以下是不同场景下的实现方案:

1. 模型驱动应用场景

方案一:使用计算列

创建一个文本类型的计算列,通过Dataverse内置的日期格式化函数拼接出目标格式。示例公式:

FORMATDATETIME(你的日期时间字段名, 'dddd, dd MMMM yyyy, HH:mm')
  • 说明:dddd对应星期全称,dd是两位日期,MMMM是月份全称,yyyy是四位年份,HH:mm是24小时制的时分。
  • 配置完成后,在表单或视图中替换原日期时间字段为这个计算列即可。

方案二:使用JavaScript脚本

在表单加载时编写脚本,读取原日期时间字段的值,转换为指定格式后赋值给一个只读文本字段(避免修改原字段数据)。示例核心逻辑:

// 获取日期时间字段值
var dateValue = formContext.getAttribute("your_datetime_field").getValue();
if (dateValue) {
    // 格式化为目标样式(中文环境示例)
    var formattedDate = dateValue.toLocaleString('zh-CN', {
        weekday: 'long',
        day: '2-digit',
        month: 'long',
        year: 'numeric',
        hour: '2-digit',
        minute: '2-digit'
    });
    // 赋值给只读文本字段
    formContext.getAttribute("your_display_field").setValue(formattedDate);
}

2. 网格视图(列表)场景

  • 最简便的方式是直接使用上述的计算列,将其添加到目标视图中即可实现列表内的自定义格式展示。
  • 若需避免创建计算列,可通过网格脚本自定义单元格渲染逻辑,但配置复杂度较高,不推荐作为首选方案。

3. 画布应用场景

直接在日期时间控件的文本属性中设置格式化表达式,示例:

Text(ThisItem.你的日期时间字段名, "dddd, dd MMMM yyyy, HH:mm")
  • 中文环境下,该表达式会自动显示中文星期和月份,无需额外配置。

注意事项

  • 计算列的格式显示依赖Dataverse环境的语言设置,若需多语言适配,需结合语言检测调整格式字符串。
  • JavaScript方案需注意时区转换,确保显示的是当前用户时区的时间。

内容的提问来源于stack exchange,提问作者Stefano Ferrario

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 07:23:17