我的SSRS中存在日期格式问题。我将日期从DateTimePicker
保存到数据库。从那里我使用以下
dgv.items(0,2).value=Format(Cdate(dsSaver.tblInv.rows(0).items(0)),"dd-MMM-yyyy")
这会正确显示(04-Nov-2011)
,但是当我使用
="Dated: " &Format(cdate(Fields!InvDate.Value),"dd-MMM-yyyy")
它显示为11-Apr-2011.
我已经测试了所有winforms票价,但是所有SSRS都显示错误。 请指教。
答案 0 :(得分:4)
这里发生了一些事情。正确保存日期,但由于您的格式选项,日期显示不正确。这条线很成问题:
="Dated: " & Format(cdate(Fields!InvDate.Value), "dd-MMM-yyyy")
CDate获取一个值,通常是一个字符串,然后将其转换为日期,然后将其格式化为字符串。现在,默认情况下,报告设置为将其Language属性设置为English (United States)
,因此CDate函数将日期04-Nov-2011
的字符串表示形式转换为04/11/2011
,然后使用美国格式MM-dd-yyyy
(不是巴基斯坦人)成为约会11-Apr-2011
,因为它认为月份是第一位的。
因此,您应该将报告的语言设置更改为=User!Language
,以便它支持用户的语言,并对内容进行适当的格式化。这可能足以使您的表达工作。
无论如何,如果Fields!InvDate.Value
作为日期字段提供(应该是),则不需要CDate函数,这应该有效:
="Dated: " & Format(Fields!InvDate.Value, "dd-MMM-yyyy")
还有FormatDateTime功能,但遗憾的是它不支持您要使用的格式。
答案 1 :(得分:0)
您是否查看过Formatting a Report: Format the Date的RDLC选项?