delphi 每年、月、周、日的开始与结束的时间


StartOfAYear ... StartOfTheYear ... EndOfAYear ... EndOfTheYear ... 每年、月、周、日的开始与结束的时间
{参数是指定的年、月、周、日}
DateUtils.StartOfAYear
DateUtils.StartOfAMonth
DateUtils.StartOfAWeek
DateUtils.StartOfADay

{参数是 TDateTime}
DateUtils.StartOfTheYear
DateUtils.StartOfTheMonth
DateUtils.StartOfTheWeek
DateUtils.StartOfTheDay

{参数是指定的年、月、周、日}
DateUtils.EndOfAYear
DateUtils.EndOfAMonth
DateUtils.EndOfAWeek
DateUtils.EndOfADay

{参数是 TDateTime}
DateUtils.EndOfTheYear
DateUtils.EndOfTheMonth
DateUtils.EndOfTheWeek
DateUtils.EndOfTheDay
--------------------------------------------------------------------------------


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

uses DateUtils;

procedure TForm1.FormCreate(Sender: TObject);
var
dt,t1,t2,t3,t4: TDateTime;
s1,s2,s3,s4: string;
begin
dt := StrToDateTime('2009-5-20 11:22:33');

t1 := StartOfAYear(2009);
t2 := StartOfTheYear(dt);
t3 := EndOfAYear(2009);
t4 := EndOfTheYear(dt);

s1 := FormatDateTime('yyyy-m-d h:n:s:zzz', t1); //2009-1-1 0:0:0:000
s2 := FormatDateTime('yyyy-m-d h:n:s:zzz', t2); //2009-1-1 0:0:0:000
s3 := FormatDateTime('yyyy-m-d h:n:s:zzz', t3); //2009-12-31 23:59:59:999
s4 := FormatDateTime('yyyy-m-d h:n:s:zzz', t4); //2009-12-31 23:59:59:999

t1 := StartOfAMonth(2009, 5); { 2009 年 5 月 }
t2 := StartOfTheMonth(dt);
t3 := EndOfAMonth(2009, 5);
t4 := EndOfTheMonth(dt);

s1 := FormatDateTime('yyyy-m-d h:n:s:zzz', t1); //2009-5-1 0:0:0:000
s2 := FormatDateTime('yyyy-m-d h:n:s:zzz', t2); //2009-5-1 0:0:0:000
s3 := FormatDateTime('yyyy-m-d h:n:s:zzz', t3); //2009-5-31 23:59:59:999
s4 := FormatDateTime('yyyy-m-d h:n:s:zzz', t4); //2009-5-31 23:59:59:999


t1 := StartOfAWeek(2009, 21); { 2009 年第 21 周 }
t2 := StartOfTheWeek(dt);
t3 := EndOfAWeek(2009, 21);
t4 := EndOfTheWeek(dt);

s1 := FormatDateTime('yyyy-m-d h:n:s:zzz', t1); //2009-5-18 0:0:0:000
s2 := FormatDateTime('yyyy-m-d h:n:s:zzz', t2); //2009-5-18 0:0:0:000
s3 := FormatDateTime('yyyy-m-d h:n:s:zzz', t3); //2009-5-24 23:59:59:999
s4 := FormatDateTime('yyyy-m-d h:n:s:zzz', t4); //2009-5-24 23:59:59:999

t1 := StartOfADay(2009, 140); { 2009 年第 140 天 }
t2 := StartOfTheDay(dt);
t3 := EndOfADay(2009, 140);
t4 := EndOfTheDay(dt);

s1 := FormatDateTime('yyyy-m-d h:n:s:zzz', t1); //2009-5-20 0:0:0:000
s2 := FormatDateTime('yyyy-m-d h:n:s:zzz', t2); //2009-5-20 0:0:0:000
s3 := FormatDateTime('yyyy-m-d h:n:s:zzz', t3); //2009-5-20 23:59:59:999
s4 := FormatDateTime('yyyy-m-d h:n:s:zzz', t4); //2009-5-20 23:59:59:999
end;

end.

联系电话:
020-00000000
联系电话:
020-00000000
联系电话:
020-12345678