使用SQL Report Server格式化日期

时间:2012-09-05 10:21:01

标签: sql-server datetime reporting-services formatting

我正在尝试根据通用的“2012-09-04 10:20:12 AM”格式格式化当前日期,但不知何故,“AM”部分始终缺失。

我正在使用表达式"..." & Format(CDate(Now), "yyyy-MM-dd hh:mm:ss tt")来格式化日期并将其附加到某些文本中。这会发出下面的警告,但会正确打印出日期(AM / PM指示符除外)。

[rsRuntimeErrorInExpression] The Value expression for the textrun 
‘EmissionDate.Paragraphs[0].TextRuns[0]’ contains an error: Input string 
was not in a correct format.

我在这里做错了什么?

注意:我知道this SO post和SQL Server查询支持的解决方案,但我想尽可能多地使用内置函数。

2 个答案:

答案 0 :(得分:2)

我找到了这篇文章,也许它可以解决你的问题。我知道您已经在使用Format(CDate),但由于您使用的是(Now),因此女巫是一个日期时间变量,也许您应该使用FormatDateTime()代替Format()

试试这个: 而不是:Format(CDate(Now), "yyyy-MM-dd hh:mm:ss tt") 使用:Format(CDate(Now), "yyyy-MM-dd hh:mm:ss am/pm")

链接:Working with Dates in Reporting Services

答案 1 :(得分:0)

根据我之前的评论,报告的Language属性引用了未定义AM / PM指示符的文化。将其更改为en-US可以按预期显示AM / PM指示符。