如何通过Logic Apps在SharePoint列表中存储ISO格式日期时间字符串
核心原因
SharePoint的日期时间字段会自动解析传入的时间值,按字段设置的格式存储和显示;如果传入ISO格式字符串,Logic Apps会先将其转换为日期时间对象再交给SharePoint处理,最终导致格式被修改。
解决方案
方案1:改用单行文本字段存储(推荐,完全保留原字符串)
- 打开目标SharePoint列表的列表设置,找到对应的日期时间字段,将类型修改为单行文本
- 在Logic Apps的Create Item块中直接传入原ISO格式字符串即可,此时SharePoint会将其作为纯文本存储,不会做任何格式转换
方案2:保留日期时间字段,修改显示格式为ISO
如果需要保留日期时间字段做后续时间操作,可通过修改SharePoint字段设置实现ISO格式显示:
- 进入SharePoint列表的列表设置,找到目标日期时间字段并点击编辑
- 在字段设置页面找到显示格式选项:
- 若有「ISO 8601」选项,直接选择即可
- 若无,选择「自定义格式」,输入对应格式字符串:
- 对应UTC格式(如
2023-03-01T10:20:30Z):yyyy-MM-ddTHH:mm:ssZ - 对应带时区偏移的格式(如
2023-03-01T10:20:30+01:00):yyyy-MM-ddTHH:mm:sszzz
- 对应UTC格式(如
- 保存设置后,SharePoint会按指定ISO格式显示时间值,底层仍存储时间戳,但显示效果和原字符串一致
方案3:强制Logic Apps传入字符串而非日期对象(特殊场景使用)
如果必须用日期时间字段且无法修改SharePoint设置,可在Logic Apps中用表达式将ISO字符串强制转为纯文本传入:
- 在Create Item块的日期时间字段输入框中,使用表达式:
string('你的ISO日期字符串') - 示例:
string('2023-03-01T10:20:30Z'),确保Logic Apps不会将其解析为日期时间对象,而是作为字符串传递(注:此方法可能导致SharePoint无法识别为有效时间,仅适合特定场景)
内容的提问来源于stack exchange,提问作者ajay
相关产品推荐
相关产品推荐

