procedure GetMonthDay(const ADate: TDateTime;
var AMonthFirst, AMonthLast: TDateTime);
var
Year, Month, Day: Word;
begin
DecodeDate(ADate, Year, Month, Day);
AMonthFirst := EncodeDate(Year, Month, 1);
if Month + 1 > 12 then
AMonthLast := EncodeDate(Year + 1, 1, 1) - 1
else
AMonthLast := EncodeDate(Year, Month + 1, 1) - 1
end;procedure GetWeekDay(const ADate: TDateTime;
var AWeekFirst, AWeekLast: TDateTime);
var
WeekOffset: Integer;
begin
WeekOffset := DayOfWeek(ADate);
AWeekFirst := ADate - WeekOffset + 1;
AWeekLast := ADate + (7 - WeekOffSet)
end;
var AMonthFirst, AMonthLast: TDateTime);
var
Year, Month, Day: Word;
begin
DecodeDate(ADate, Year, Month, Day);
AMonthFirst := EncodeDate(Year, Month, 1);
if Month + 1 > 12 then
AMonthLast := EncodeDate(Year + 1, 1, 1) - 1
else
AMonthLast := EncodeDate(Year, Month + 1, 1) - 1
end;procedure GetWeekDay(const ADate: TDateTime;
var AWeekFirst, AWeekLast: TDateTime);
var
WeekOffset: Integer;
begin
WeekOffset := DayOfWeek(ADate);
AWeekFirst := ADate - WeekOffset + 1;
AWeekLast := ADate + (7 - WeekOffSet)
end;
解决方案 »
- Delphi 中,使用 const 修饰的字符串函数参数的问题
- Merry Christmas
- Project Project1.exe raised excption class EoleSysError with message '不支持此接口' praess stopped.
- 有没有直接输出Excel的DBGrid控件,要源码
- 熟悉 WebBroker 的朋友请进,若能解决给1000分,分10次给
- 好象有个菜单控件叫 xpmenu ????在哪里可下,,
- 我对两个视图所形成的表进行修改,保有一个表不能保存数据。不知何故?急用。。。。。。。。
- 如何给一个对象数组赋值?
- 关于程序打包的问题
- 我用的ADO出了错???
- formula one 6.0谁会用啊。。
- 伴水兄,帮我想
var thisday,MonDay,SunDay,MonthBeg,MonthEnd :TDateTime;
ii :Integer;
ThisDay := Date;
ii := DayOfWeek; (0表示星期天,6表示星期六);SunDay := ThisDay - ii;
MonDay := ThisDay - ii + 1;MonthBeg := StrToDateTime(FormatDateTime('YYYY-MM-01',ThisDay));
MonthEnd := (下一个月的第一天减一就可以了)。
function EndOfTheYear(const AValue: TDateTime): TDateTime;
function StartOfAYear(const AYear: Word): TDateTime;
function EndOfAYear(const AYear: Word): TDateTime;function StartOfTheMonth(const AValue: TDateTime): TDateTime;
function EndOfTheMonth(const AValue: TDateTime): TDateTime;
function StartOfAMonth(const AYear, AMonth: Word): TDateTime;
function EndOfAMonth(const AYear, AMonth: Word): TDateTime;function StartOfTheWeek(const AValue: TDateTime): TDateTime; {ISO 8601}
function EndOfTheWeek(const AValue: TDateTime): TDateTime; {ISO 8601}
function StartOfAWeek(const AYear, AWeekOfYear: Word; {ISO 8601}
const ADayOfWeek: Word = 1): TDateTime;
function EndOfAWeek(const AYear, AWeekOfYear: Word; {ISO 8601}
const ADayOfWeek: Word = 7): TDateTime;function StartOfTheDay(const AValue: TDateTime): TDateTime;
function EndOfTheDay(const AValue: TDateTime): TDateTime;
function StartOfADay(const AYear, AMonth, ADay: Word): TDateTime; overload;
function EndOfADay(const AYear, AMonth, ADay: Word): TDateTime; overload;
function StartOfADay(const AYear, ADayOfYear: Word): TDateTime; overload;
function EndOfADay(const AYear, ADayOfYear: Word): TDateTime; overload;
case j of
1:Label10.Caption:='今天星期日';
2:Label10.Caption:='今天星期一';
3:Label10.Caption:='今天星期二';
4:Label10.Caption:='今天星期三';
5:Label10.Caption:='今天星期四';
6:Label10.Caption:='今天星期五';
7:Label10.Caption:='今天星期六';
end;
var
Year,Month: string;
begin
year := Formatdatetime('yyyy',CurDay);
Month := Formatdatetime('mm',CurDay);
FirstDay := strtodatetime(Year+'-'+Month+'-01');
if Month = '12' then
begin
Year := inttostr(strtoint(Year) + 1);
LastDay := strtodatetime(Year+'-01-01');
end
else
begin
Month := inttostr(strtoint(Month) + 1);
LastDay := strtodatetime(Year+'-'+Month+'-01');
end;
LastDay := LastDay - 1;
end;