Microsoft List中@now跨浏览器语言兼容问题解决方案问询
解决Microsoft List按钮@now受浏览器语言影响的问题
问题原因
直接使用@now时,它会根据浏览器的语言设置生成对应格式的日期字符串。你的列表站点区域设置为English (Australia),当浏览器语言为澳式英语时,生成的日期格式与站点预期格式不匹配,触发报错;美式英语浏览器下格式恰好兼容,因此能正常执行。
解决方案
不要使用@now变量,改用SharePoint内置的now()函数——该函数会基于站点的区域设置和时区生成正确的日期时间值,完全不受浏览器语言影响。
修改后的JSON配置代码如下:
"customRowAction": { "action": "setValue", "actionInput": { "St01Status": "=if([$St01Status] == 'Completed', 'Pending', 'Completed')", "St01Appver": "=if([$St01Status] == 'Completed', '', '@me')", "St01AppDate": "=if([$St01Status] == 'Completed', '', now())" } }
补充说明
now()函数返回站点时区下的当前日期时间,自动适配站点的区域日期格式,无需手动处理字符串格式。- 如果需要更精确的时区控制,可使用
utcNow()获取UTC时间,再通过convertFromUtc函数转换为目标时区,例如:
这种写法适合跨时区场景,但同站点需求下,直接用=convertFromUtc(utcNow(), 'Aus Eastern Standard Time')now()更简洁。
内容的提问来源于stack exchange,提问作者user1063287
相关产品推荐
相关产品推荐

