如何使用C#将crystal报表中的日期时间格式转换为日期格式?

如何使用C#将crystal报表中的日期时间格式转换为日期格式?,c#,crystal-reports,C#,Crystal Reports,我正在使用c#windows窗体应用程序和crystal report。我正在以datetime格式从数据库中检索日期,但我喜欢仅在报表中显示日期,crystal report中的任何公式字段都可以帮助我解决此问题。提前感谢。如果只是格式问题,请使用ToSortDateString()有很多方法可以做到这一点。您可以只使用所描述的内容,也可以执行myDate.ToString(“dd-MMM-yyyy”)MSDN文档中有大量关于此主题的帮助 您还可以编写自己的DateExtension类,它允许

我正在使用c#windows窗体应用程序和crystal report。我正在以datetime格式从数据库中检索日期,但我喜欢仅在报表中显示日期,crystal report中的任何公式字段都可以帮助我解决此问题。提前感谢。

如果只是格式问题,请使用
ToSortDateString()

有很多方法可以做到这一点。您可以只使用所描述的内容,也可以执行
myDate.ToString(“dd-MMM-yyyy”)MSDN文档中有大量关于此主题的帮助

您还可以编写自己的DateExtension类,它允许您执行类似于
myDate.ToMyDateFormat()的操作


在选择公式中,请尝试以下操作

Date(Year({datetimefield}), Month({datetimefield}), Day({datetimefield}))

在crystal report formulafield date function A中,有一个可用的传递日期-时间格式,您只能在此处获取日期


示例:
Date({MyTable.dte\u QDate})

如果日期时间在字段中(不是公式),则可以对其进行格式化:

  • 右键单击字段->格式编辑器
  • 日期和时间选项卡
  • 选择所需的日期/时间格式(或单击“自定义”)
  • 如果日期时间在公式中:

    ToText({MyDate}, "dd-MMM-yyyy")
    //Displays 31-Jan-2010
    


    等等。

    以防需要在Crystal Report端进行格式化

    简单的方法

    水晶报表设计窗口->右键单击日期字段->格式字段->根据需要自定义日期格式


    有效工作。

    有时crystal reports无法将该字段识别为日期,因此您可以添加具有以下函数的公式: 日期({YourField}),
    并将其添加到报告中,现在当您打开“格式化对象”对话框时,您将找到日期格式化选项。

    此公式适用于我:

    // Converts CR TimeDate format to AssignDate for WeightedAverageDate calculation.
    
    Date( Year({DWN00500.BUDDT}), Month({DWN00500.BUDDT}), Day({DWN00500.BUDDT}) ) - CDate(1899, 12, 30)
    

    用户特别要求提供Crystal语法;不是c#
    ToText({MyDate}, "dd-MM-yyyy")
    //Displays 31-01-2010
    
    ToText({MyDate}, "dd-MM-yy")
    //Displays 31-01-10
    
    // Converts CR TimeDate format to AssignDate for WeightedAverageDate calculation.
    
    Date( Year({DWN00500.BUDDT}), Month({DWN00500.BUDDT}), Day({DWN00500.BUDDT}) ) - CDate(1899, 12, 30)