本文整理自网络,侵删。
// ****************日期操作***********************
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;
相关阅读 >>
Delphi 新建文件 复制文件 重命名文件名时 文件存在自动重命名
Delphi xe10 fdmemtable 数据保存本地和从本地加载
Delphi中使用低层钩子 屏蔽win、ctrl+esc、alt+tab、alt+f4
Delphi dbnavigator1 删除时弹出确认对话框
更多相关阅读请进入《Delphi》频道 >>