处理日期的一个简单例子
处理日期的一个简单例子.
计算出所选日期的月初,月末,周日,周六的日期,这里把一个星期设置为星期天-------星期六.
给大家参考一下,初学delphi,请大家指导.
代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
edtBMonth: TEdit;
Label3: TLabel;
edtEMonth: TEdit;
Label4: TLabel;
edtBWeek: TEdit;
Label5: TLabel;
edtEWeek: TEdit;
dtpSetupTime: TDateTimePicker;
procedure dtpSetupTimeChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.dtpSetupTimeChange(Sender: TObject);
var
Year, Month, Day, i: Word;
begin
i := DayOfWeek(dtpSetupTime.DateTime)-1;
//MessageDlg(IntToStr(i), mtInformation,[mbOk], 0);
DecodeDate(dtpSetupTime.DateTime, Year, Month, Day);
edtBMonth.Text := FormatDateTime('yyyy/MM/dd',EncodeDate(Year,Month,1));
if (Month <> 12) Then
edtEmonth.Text := FormatDateTime('yyyy/MM/dd',EncodeDate(Year,Month+1,1)-1)
else
edtEmonth.Text := FormatDateTime('yyyy/MM/dd',EncodeDate(Year+1,1,1)-1);
edtBWeek.Text := FormatDateTime('yyyy/MM/dd',dtpSetupTime.DateTime-i);
edtEWeek.Text := FormatDateTime('yyyy/MM/dd',dtpSetupTime.DateTime-i+6);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
DateSeparator := '/';
dtpSetupTimeChange(Sender);
end;
end.