取得某月的最后一天的日期的函数

 

待验证:

 

使用DELPHI自带函数

uses
  DateUtils;

 

 

StartOfTheMonth()
 
还有StartOfTheYear等相关函数,不用那么麻烦的

 

------------------------------------------------------------

 

 

// ******************************************************************************
    // 函数功能: 取得某月的最后一天的日期
    // 函数名称: cf_dateGetMonthLastDate(aDate:TDate):TDate;
    // 函数参数: aDate: 录入某天日期
    // 返回值: 返回该天所在月的最后一天的日期。
    // ******************************************************************************
    function cf_dateGetMonthLastDate(aDate: TDate): TDate;
    var
      AFirstDay, ANextFirstDay: string;
    begin
      try
        AFirstDay := FormatDateTime('yyyy-mm-dd', cf_dateGetMonthFirstDate
            (aDate));
        if StrToInt(Copy(AFirstDay, 6, 2)) < 12 then
        begin
          // 取当月第一天的日期
          ANextFirstDay := IntToStr(StrToInt(Copy(AFirstDay, 6, 2)) + 1);
          // 取下月第一天的日期
          Delete(AFirstDay, 6, 2); // 删除字串中的月份
          Insert(ANextFirstDay, AFirstDay, 6); // 插入当月的月份到字串中
          Result := StrToDate(AFirstDay) - 1; // 取得当月最后一天的日期
        end
        else
        begin
          Result := StrToDate(Copy(AFirstDay, 1, 4) + '-12-31');
        end;
      except
        Result := StrToDate('1900-01-01');
      end;
    end;

 

 

--------------------------------------------------------------------------------

取得某月的第一天:

 

formatdatetime('yyyy-mm-01',now())
简单的取本月第一天

你可能感兴趣的:(Delphi)