完整代码如下:(刚刚给你写的,呵呵:)可以给分了吗?)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DateUtils;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
{*****************************************************
以下过程返回aDate日期所在季度的第一天和最后一天(TDateTime格式)
******************************************************}
procedure GetFirstDayAndLastDayofCurrentSeason(aDate: TDateTime;
var FirstDay: TDateTime; var LastDay: TDateTime);
var
wdYY,wdMM,wdDD: Word;
begin
begin
DecodeDate(aDate,wdYY,wdMM,wdDD);
case wdMM of
1,2,3:
begin
FirstDay := EncodeDate(wdYY,1,1);
LastDay := EndOfTheMonth(EncodeDate(wdYY,3,1));
end;
4,5,6:
begin
FirstDay := EncodeDate(wdYY,4,1);
LastDay := EndOfTheMonth(EncodeDate(wdYY,6,1));
end;
7,8,9:
begin
FirstDay := EncodeDate(wdYY,7,1);
LastDay := EndOfTheMonth(EncodeDate(wdYY,9,1));
end;
10,11,12:
begin
FirstDay := EncodeDate(wdYY,10,1);
LastDay := EndOfTheMonth(EncodeDate(wdYY,12,1));
end;
end;
end;
end;
{****************************************************}
var
dtFirstDay,dtLastDay: TDateTime;
begin
GetFirstDayAndLastDayofCurrentSeason(Now,dtFirstDay,dtLastDay); //用你需要返回的时间代替Now
ShowMessage('本季第一天是:' + DateToStr(dtFirstDay) + ';本季最后一天是:' + DateToStr(dtLastDay));
end;
end.