Power Automate日期格式转换求助:SharePoint日期转dd MMMM yyyy
解决Power Automate日期格式转换问题
问题根源:你使用的
triggerBody()?['From']大概率是字段的显示名称,而非SharePoint列表字段的内部名称。SharePoint字段的内部名称和显示名称常不一致(比如含空格的显示名称,内部名称会自动添加_x0020_这类标识),导致表达式无法正确获取日期值,触发了empty()判断返回默认文本。另外你要的“March”是月份全称,格式字符串应该用MMMM而非MM。修正步骤:
- 获取字段内部名称:
进入SharePoint列表的「列表设置」,找到目标日期字段并点击进入编辑页面,查看浏览器地址栏最后一段的参数(比如地址栏末尾是Field=From_x0020_Date,那么From_x0020_Date就是该字段的内部名称)。 - 替换表达式中的字段名并修正格式:
把原表达式里的'From'换成获取到的内部名称,同时调整格式字符串为dd MMMM yyyy,示例表达式如下:
(注意:将示例中的if(empty(triggerBody()?['From_x0020_Date']), 'No Date Available', formatDateTime(triggerBody()?['From_x0020_Date'], 'dd MMMM yyyy'))From_x0020_Date替换为你实际的字段内部名称) - 验证字段值(可选):
如果仍无法获取值,可先通过string(triggerBody()?['内部名称'])确认返回内容是否为有效日期字符串,再进行formatDateTime转换。
- 获取字段内部名称:
补充说明:直接使用动态内容能显示日期,是因为Power Automate自动处理了字段显示名称与内部名称的映射,而手写表达式必须使用内部名称才能正确取值。
内容的提问来源于stack exchange,提问作者Asanka
相关产品推荐
相关产品推荐

