uses DateUtils;
然后可以用StartOfTheWeek、EndOfTheWeek;StartOfTheMonth、EndOfTheMonth;取得本周和本月的起始终止日期。
至于季度,好象没有专门的函数,试试这样——var
  m: Word;
  T1, T2: TDateTime;
begin
  m := MonthOf(Now);
  m := m - m mod 3 + 1;
  T1 := DateOf(StartOfTheMonth(IncMonth(Now, m)));
  Inc(m, 2);
  T2 := DateOf(EndOfTheMonth(IncMonth(Now, m)));
  ShowMessage('本季度起始日期:' + DateTimeToStr(T1) + ' 终止日期:' + DateTimeToStr(T2));
end;

解决方案 »

  1.   

    唉,写错了,重写——
    var
      m: Word;
      T1, T2: TDateTime;
    begin
      m := MonthOf(Now);
      T1 := DateOf(StartOfTheMonth(IncMonth(Now, (1 - m) mod 3)));
      T2 := DateOf(EndOfTheMonth(IncMonth(Now, 2 - (m - 1) mod 3)));
      ShowMessage('本季度起始日期:' + DateTimeToStr(T1) + ' 终止日期:' + DateTimeToStr(T2));
    end;
      

  2.   

    呵呵,发现这个更简洁一点——
    var
      y, m: Word;
      T1, T2: TDateTime;
    begin
      y := YearOf(Now);
      m := MonthOf(Now);
      Dec(m, (m - 1) mod 3);
      T1 := DateOf(StartOfAMonth(y, m));
      T2 := DateOf(EndOfAMonth(y, m + 2));
      ShowMessage('本季度起始日期:' + DateTimeToStr(T1) + ' 终止日期:' + DateTimeToStr(T2));
    end;
      

  3.   

    喂!
    兄台,
    我在uses 中加入DateUtils时,我的计算机说:
    [Fatal Error] client_pas.pas(8): File not found: 'DateUtils.dcu'
    怎么办???
      

  4.   


      果然是只笨鸟哈哈。。  人家是要你新开一个unit:DateUtils,写入代码。  然后调用这个unit就行了:uses DateUtils。  还不明白吗?笨鸟哈哈
      

  5.   

    但是,Delphi5里根本就没有StartOfTheWeek等函数呀!
    它是API的函数吗???
    应该加哪一个单元呢???
      

  6.   

    哦,D5是没有的。给个email我发给你吧。
      

  7.   

    [email protected]
    兄台,请快一点!
    解决了它,感激不尽,更不用说是分了!
    另外:QQ号:16525106
      

  8.   

    兄台,我还是不会,这个PAS里要的其它东西,太多了,我找不到!
    是不是我换成Delphi6就可以了?没有用Delphi5解决的办法吗??
      

  9.   

    不好意思,我忽略了这个问题。
    不过看了DateUtils.pas,它只uses了SysUtils、Math、Types、RTLConsts这四个东西,除了最后一个,D5里都应该有的,我再把RTLConsts.pas也发给你,你再试试。换成D6当然可以,用D5的话你可以参考一下它的做法,毕竟这些都是最权威的函数啊。
      

  10.   

    兄台:多谢你的如此支持,我还想说一句,Types,D5中也没有!
    也给我罢,但它们会不会也用到其它的呢???
      

  11.   

    RTLConsts和Types都没有用到其它的unit。刚看完球赛,有点不爽,第一封信忘了加附件!