Sql 如何更改.net RDLC报告中的日期格式?

Sql 如何更改.net RDLC报告中的日期格式?,sql,dataset,rdlc,datetime-format,Sql,Dataset,Rdlc,Datetime Format,我需要将日期列设置为2013年1月1日,在rdlc中实现此设置的格式是什么 我已经放弃了 =CDate(Fields!IssuingDate.Value).ToString("dd-mmm-yyyy") 它不能正常工作。任何人都可以给我发2013年7月2日的格式可能性1: 我认为正确的格式字符串是“dd MMM yyyy”(大写字母M,请参阅) 我会使用格式(Fields!IssuingDate.Value,“dd-MMM-yyyy”)而不是ToString() 可能性2: 只需使用字段!Is

我需要将日期列设置为2013年1月1日,在rdlc中实现此设置的格式是什么

我已经放弃了

=CDate(Fields!IssuingDate.Value).ToString("dd-mmm-yyyy")

它不能正常工作。任何人都可以给我发2013年7月2日的格式可能性1:

我认为正确的格式字符串是
“dd MMM yyyy”
(大写字母M,请参阅)

我会使用
格式(Fields!IssuingDate.Value,“dd-MMM-yyyy”)
而不是
ToString()

可能性2:


只需使用
字段!IssuingDate.Value
作为文本框的表达式,并将文本框的
Format
属性设置为
dd MMM yyyy

也可以通过右键单击RDLC报告中的字段(我们要更改其格式)来更改日期格式,并且:

  • 选择“文本框属性”
  • 然后选择“数字”选项
  • 然后从多个“日期”选项中选择一个,或指定自定义日期

  • 使用此选项,您将获得输出

    =CDate(Fields!IssuingDate.Value).ToString("dd-MMM-yyyy")
    
    按如下方式更改它肯定会起作用:

    ToString
    应该是
    ToString
    mmm
    应该是
    mmm
    ,因此您将拥有:

    CDate(Fields!IssuingDate.Value).toString("dd-MMM-yyyy")
    
    这也是可行的(当DateValue.Value为null时不会失败):


    表达式
    属性中,设置以下格式,即可正常工作:

    =Format(Cdate(Fields!InvoiceDate.Value),"yyyy/MM/dd")
    

    不要使用任何格式化函数,如Format()。 而是右键单击文本框并选择文本框属性。。。 然后从左栏中选择数字,并像Excel一样设置所需的格式


    您可以使用许多其他属性,如对齐、填充和操作。

    您可以将rdlc编辑为XML,只需使用Now(),与DateTime.Now和Format相同

    <Value>="Date: " &amp; Format(Now(), "dd/MM/yyyy HH:mm")</Value>
    
    =“日期:&;格式(现在为(),“dd/MM/yyyy HH:MM”)
    

    结果文件“Date:22/08/2019 10:20”

    检查XSD中的数据类型是否为
    System.DateTimeOffset
    ,如果不将类型更改为
    System.DateTime
    ,则无法进行任何格式化

    从select查询将datetimeoffset转换为datetime:

    SELECT 
    A,
    B,
    CONVERT(datetime2, MyTable.DateTimeOffsetField, 1) AS DateTimeField
    FROM MyTable
    
    将类型更改为DateTime后,所有格式都开始工作

    例如:
    =格式(Fields!DateTimeField.Vaule,“dd-mmm-yyyy”)
    这可能会有所帮助

    = CDate(Fields!Date.Value).ToString("dd-MMM.-yyyy" )
    

    在我的例子中,我需要四舍五入到2位小数,它是四舍五入到175.89到175.9。我删除了Round()并应用上面提到的格式,得到了期望的结果175.90
    SELECT 
    A,
    B,
    CONVERT(datetime2, MyTable.DateTimeOffsetField, 1) AS DateTimeField
    FROM MyTable
    
    = CDate(Fields!Date.Value).ToString("dd-MMM.-yyyy" )