如果日期格式不是 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 的回答):
您可以查看以下答案,其中包含许多可能会给您一些见解的解决方法:
如果用户的日期格式类似于:
,则 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 的回答):
您可以查看以下答案,其中包含许多可能会给您一些见解的解决方法: