Delphi中本年、本月、本周的第一天和最后天

Delphi中本年、本月、本周的第一天和最后天2009-09-11 14:48uses DateUtils;

function StartOfTheYear(const AValue: TDateTime): TDateTime;

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;

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 := Forma

tDateTime('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.

猜你喜欢

转载自blog.csdn.net/aiib69/article/details/79151554
今日推荐