如果日期格式不是 mm/dd/yyyy,则报告日期无法正常工作

Report dates not working correctly if date format is not mm/dd/yyyy

如果用户的日期格式类似于:

,则 SSRS 报告工作正常
MM/dd/yyyy

但如果日期格式不同,日期参数设置后自动"cleared out",它消失了,例如,这个失败

同样,如果您在 "End Date" 参数中输入一个值,它会自动消失。

我尝试过的事情:

将报告的语言 属性 设置为:"en-us"、用户!语言和空白。

很明显,SSRS 认为输入的日期无效并将其清除。

我需要做什么才能完成这项工作?

可能的解决方法

以下解决方法可能会解决此问题。

(1)处理参数日期格式

如果您不想编辑所有代码,那么强制参数数据字符串格式更容易,确保传递给 TO_DATE() 函数的所有参数都采用以下格式 (或尝试从 OS 区域设置更改默认日期格式):

dd-MMM-yyyy   example: 01-AUG-2019

(2) 通过编辑 ReportViewer.aspx

强制文化信息

您可以编辑位于 SQL 服务器报告服务目录中的 ReportViewer.aspx 文件,并强制在报告中使用文化信息。查看以下问题,它将为您提供更多详细信息:

  • I want Datetime Parameter in DDMMYYYY Format in ssrs report

(3) 更改浏览器语言设置

检查以下 link (阅读 Mike Honey 和 Nick St Mags 的回答)


您可以查看以下答案,其中包含许多可能会给您一些见解的解决方法: