delphi 几个日期操作  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 几个日期操作


// ****************日期操作***********************

function dateLeapYear(D: TDateTime): Boolean; // 判断闰年还是平年
function WeekDay(const CuDate: TDateTime): string; // 得到汉文周几
function getThisWeekBEDate: TDateArray;
function getNextWeekBEDate: TDateArray;
function getPriorWeekBEDate: TDateArray;
function GetJiDuDate(dd: TDateTime): TDateArray; // 得到季度的起止日期


type
  TDateArray = array[0..1] of TDateTime; // 起始时间
  TMonthArray = array[0..1] of Word;


// 取得本周起止日期

function getThisWeekBEDate: TDateArray;
var
  tdArray: TDateArray;
  td: TDateTime;
  s: Integer;
begin
  td := Date;
  s := DayOfWeek(td);
  tdArray[0] := td + 2 - s;
  tdArray[1] := tdArray[0] + 4;
  Result := tdArray;
end;
// 下周

function getNextWeekBEDate: TDateArray;
var
  tdArray: TDateArray;
  td: TDateTime;
  s: Integer;
begin
  td := Date;
  s := DayOfWeek(td);
  tdArray[0] := td + 9 - s;
  tdArray[1] := tdArray[0] + 4;
  Result := tdArray;
end;
// 上周

function getPriorWeekBEDate: TDateArray;
var
  tdArray: TDateArray;
  td: TDateTime;
  s: Integer;
begin
  td := Date;
  s := DayOfWeek(td);
  tdArray[0] := td - 5 - s;
  tdArray[1] := tdArray[0] + 4;
  Result := tdArray;
end;

// 取得汉文星期几

function WeekDay(const CuDate: TDateTime): string;
begin
  Result := Copy('日一二三四五六', DayOfWeek(CuDate) * 2 - 1, 2);
end;
// 闰年

function dateLeapYear(D: TDateTime): Boolean;
var
  Year, Month, Day: Word;
begin
  DecodeDate(D, Year, Month, Day);
  Result := (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0));
end;

function GetJiDuDate(dd: TDateTime): TDateArray;
var
  Y, M: Word;
begin
  Y := yearof(dd);
  M := MonthOf(dd);
  Dec(M, (M - 1) mod 3);
  Result[0] := DateOf(StartOfAMonth(Y, M));
  Result[1] := DateOf(EndOfAMonth(Y, M + 2));
end;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.036705017089844 seconds