Crystal 报表:根据字段值显示日期范围(月、月的第一天、年到月、最后一天、年)
Crystal Reports: Display date range (month, first day of month, year to month, last day, year) based on field value
我需要根据字段中日期之前的月份显示日期范围。例如,如果日期值 (DOCDATE)
是 6/6/18
,我希望范围显示为:
5/1/18 to 5/31/18
我能够使用具有最小和最大限制的 LASTFULLMONTH
,它适用于当月的记录,但我需要使用 DOCDATE
作为对照。
您可以使用以下公式实现此目的。
注意公式名称,因为它们部分相互依赖。
{@prevMonth}
{@DOCDATE}
减一个月得到前一个月
DateAdd("m", -1, {@DOCDATE})
{@startDate}
通过从 {@prevMonth}
的年月和 1
日创建新日期来获取开始日期(上个月的第一天)。
Date(Year({@prevMonth}), Month({@prevMonth}), 1)
{@endDate}
通过从 {@DOCDATE}
的年月和 1
减去一天
创建一个新日期来获取结束日期(上个月的最后一天)
Date(DateAdd("d", -1, Date(Year({@DOCDATE}), Month({@DOCDATE}), 1)))
{@displayRange}
显示范围。
CStr({@startDate}) & " to " & CStr({@endDate})
我需要根据字段中日期之前的月份显示日期范围。例如,如果日期值 (DOCDATE)
是 6/6/18
,我希望范围显示为:
5/1/18 to 5/31/18
我能够使用具有最小和最大限制的 LASTFULLMONTH
,它适用于当月的记录,但我需要使用 DOCDATE
作为对照。
您可以使用以下公式实现此目的。
注意公式名称,因为它们部分相互依赖。
{@prevMonth}
{@DOCDATE}
DateAdd("m", -1, {@DOCDATE})
{@startDate}
通过从 {@prevMonth}
的年月和 1
日创建新日期来获取开始日期(上个月的第一天)。
Date(Year({@prevMonth}), Month({@prevMonth}), 1)
{@endDate}
通过从 {@DOCDATE}
的年月和 1
减去一天
Date(DateAdd("d", -1, Date(Year({@DOCDATE}), Month({@DOCDATE}), 1)))
{@displayRange}
显示范围。
CStr({@startDate}) & " to " & CStr({@endDate})