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

我正在使用c#windows表单应用程序,也可以在crystal report.i我从datetime格式的数据库中恢复日期,但我只想在报表中显示日期,水晶报表中的任何公式字段都有助于我解决这个问题。谢谢你。

如果日期时间在字段中(不是公式),那么您可以格式化它:

  1. 右键单击字段 – >格式编辑器
  2. 日期和时间选项卡
  3. 选择所需的日期/时间格式(或单击自定义)

如果日期时间在公式中:

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

要么

 ToText({MyDate}, "dd-MM-yyyy") //Displays 31-01-2010 

要么

 ToText({MyDate}, "dd-MM-yy") //Displays 31-01-10 

等等…

在水晶报告公式字段日期函数aavailable中传递您的日期时间格式,您将在此处获取日期

示例: Date({MyTable.dte_QDate})

如果需要在Crystal Report端进行格式化。

简单的方法。

Crystal Report设计窗口 – >右键单击日期字段 – >格式字段 – >根据需要自定义日期格式。

有效地工作。

在选择公式中试试这个

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

这个公式适合我:

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

如果它只是一个格式问题使用ToShortDateString()

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

您也可以编写自己的DateExtension类,它允许您使用myDate.ToMyDateFormat();

  public static class DateTimeExtensions { public static DateTime ToMyDateFormat(this DateTime d) { return d.ToString("dd-MMM-yyyy"); } } 

有时字段不会被水晶报表识别为DATE,因此您可以添加一个带有函数的公式:Date({YourField}),并将其添加到报表中,现在当您打开格式对象对话框时,您会发现日期格式选项。