在 Crystal Reports 中获取上一季度的开始和结束日期 [英] Get previous quarter start and end date in Crystal Reports

查看:20
本文介绍了在 Crystal Reports 中获取上一季度的开始和结束日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

正如许多人所问的(但不是我能找到的 Crystal Reports),我正在寻找如何获取上一季度的开始和结束日期.

Like many have asked (but not for Crystal Reports that I can find), I'm looking for how to get the previous quarter start and end dates.

由于今天是 7/10/2014,我可以使用

Since today is 7/10/2014, I can use

DateAdd("Q", -1, CurrentDate)

它返回 4/10/2104 12:00:00AM

and it returns 4/10/2104 12:00:00AM

我想要的是上一季度的开始和结束日期.今天,这将是 2014 年 4 月 1 日和 2014 年 6 月 30 日.在 10 月,它应该返回 2014 年 7 月 1 日和 2014 年 9 月 30 日.我只想要日期部分,而不是时间.

What I want is the previous quarter start and end dates. For today, that would be 4/1/2014 and 6/30/2014. In October, it should instead return 7/1/2014 and 9/30/2014. I only want the date part, not the time.

我正在查看 Crystal 日期和时间以及日期范围选项,但没有看到我需要做什么.

I'm looking through the Crystal Date and Time and Date Ranges options, and just not seeing what I need to do.

推荐答案

要获取该季度的第一个日期,以下将起作用:

To get the first date in the quarter, the following will work:

dateVar PrevQuarterDate := Date(DateAdd("Q", -1, CurrentDate));
dateVar PrevQuarterStart := Date(Year(PrevQuarterDate),Month(PrevQuarterDate),1);
PrevQuarterStart;

和最后的日期类似:

dateVar PrevQuarterDate := Date(DateAdd("Q", -1, CurrentDate));
dateVar PrevQuarterEnd := Date(Year(PrevQuarterDate),Month(PrevQuarterDate)+3,1)-1;
PrevQuarterEnd;

事实证明,如果上一季度也是上一年,则上述方法不会起作用.以下更好.有足够的代码可以输入您自己的日期并显示结果,因此也可以检查它.

It turns out the above will NOT work if the previous quarter is also in a previous year. The following is better. There's enough code to put in your own date and display the results, so it can be checked, too.

dateVar ToDaysDate := CurrentDate; //  Date(2014,02,11);
dateVar PrevQDtDate := Date(DateAdd("Q", -1, ToDaysDate));
dateVar PrevQStart := dateserial(year(PrevQDtDate),(datepart("q",DateAdd ("q", -1, ToDaysDate))*3)-2, 1);
DateVar PrevQEnd := dateserial(year(ToDaysDate),datepart('q',ToDaysDate)*3-2,1-1);
StringVar DispDates;
DispDates := totext(PrevQStart) + "-" + totext(PrevQEnd);
DispDates;

这篇关于在 Crystal Reports 中获取上一季度的开始和结束日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆